相关疑难解决方法(0)

无法在T4模板中引用装配

我在主程序集中的测试器类中有以下代码PocoGenerator.该程序集应该使用T4模板基于引用程序集(项目引用)中的L2S实体生成POCO DataObjects.

var assemblyName = "DataObjects";
var dataObjects = AppDomain.CurrentDomain.Load(new AssemblyName(assemblyName));
Run Code Online (Sandbox Code Playgroud)

尽我所能,我不能让T4找到DataObjects程序集.我尝试了各种形式的assembly指令,例如:

<#@ assembly name="DataObjects" #>
<#@ assembly name="DataObjects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" #>
Run Code Online (Sandbox Code Playgroud)

无济于事.上面的代码在测试器类中工作,但不在模板中.我究竟做错了什么?

补充:我已经通过在机器人位置使用绝对路径来解决这个问题,我引用它,指令以及类功能块,即

<#@ assembly name="C:\Development\PocoGenerator\DataObjects\bin\Debug\DataObjects.dll" #>
Run Code Online (Sandbox Code Playgroud)

var sourceAssembly = Assembly.LoadFile(@"C:\Development\PocoGenerator\DataObjects\bin\Debug\DataObjects.dll");
Run Code Online (Sandbox Code Playgroud)

但我真的不喜欢这个,因为我想在各个项目中使用这个模板,而我只是简单地讨厌重复,特别是魔术字符串.

t4 visual-studio-2010 visual-studio

31
推荐指数
2
解决办法
2万
查看次数

标签 统计

t4 ×1

visual-studio ×1

visual-studio-2010 ×1