Tôi có mã sau trong một lớp thử nghiệm trong hội đồng chính của tôi, PocoGenerator
. Hội đồng này được cho là sử dụng một mẫu T4 để tạo ra POCO dựa trên các thực thể L2S trong một assembly tham chiếu (một tham chiếu dự án), DataObjects
.Không thể tham khảo một hội đồng trong một mẫu T4
var assemblyName = "DataObjects";
var dataObjects = AppDomain.CurrentDomain.Load(new AssemblyName(assemblyName));
Hãy thử làm như tôi có thể, tôi không thể lấy T4 để tìm lắp ráp DataObject. Tôi đã thử các hình thức assembly
chỉ thị, như:
<#@ assembly name="DataObjects" #>
<#@ assembly name="DataObjects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" #>
vô ích. Mã trên hoạt động trong lớp trình kiểm tra, nhưng không hoạt động trong mẫu. Tôi đang làm gì sai?
thêm: Tôi đã giải quyết vấn đề này bằng cách sử dụng đường dẫn tuyệt đối đến lắp ráp ở những nơi bot Tôi tham khảo nó, chỉ thị cũng như các khối năng lớp, tức là
<#@ assembly name="C:\Development\PocoGenerator\DataObjects\bin\Debug\DataObjects.dll" #>
và
var sourceAssembly = Assembly.LoadFile(@"C:\Development\PocoGenerator\DataObjects\bin\Debug\DataObjects.dll");
Nhưng tôi thực sự không thích điều này, vì tôi muốn sử dụng mẫu này trong các dự án khác nhau và tôi chỉ đơn giản là ghét trùng lặp, đặc biệt là các chuỗi ma thuật.
dự án mẫu của bạn nên có một tài liệu tham khảo dự án để dự án bạn có một sự phụ thuộc vào. Thẻ "assembly" của bạn ở trên trông có vẻ đúng. Và bạn cũng nên có tham chiếu "nhập". Bạn nhận được thông báo lỗi chính xác nào? (và những gì với các công cụ AppDomain? bạn không cần phải làm bất cứ điều gì như thế) –
Các công cụ AppDomain là tp cho phép tôi để lặp tất cả các loại trong một trong những hội đồng được nạp trong AppDomain hiện tại. Nó không liên quan gì đến việc tham chiếu assembly cho chính bản mẫu đó. – ProfK
Vâng, tôi thấy bây giờ. Và bạn nhận được thông báo lỗi chính xác nào? –