【发布时间】:2017-08-11 06:40:38
【问题描述】:
我在我的 Web 项目中创建了自己的 T4 Tempalte,该项目正在从我当前的解决方案加载使用的程序集并创建一些文件。
到目前为止效果很好。但现在我已将我的一个 NuGet 组件更新为新版本,并添加了一个 assemblyBinding 部分,以便我的组件的旧版本和新版本都可以工作。到目前为止,这对我的网站本身也很好。
但我的 T4 模板现在带来了一个
The File or Assembly "\xxx...\...." or a dependency could not be found
似乎我的 T4 模板没有读取 web.config 中的 assemblyBinding 部分,这是可能的,是否有解决方法,无需在每个依赖 dll 中更新我的程序集引用。
我正在使用带有已编译 Dll 的 T4 模板进行代码实现,并且在我的 DLL 中我正在加载我的程序集,一切正常。
var assemblies = Factory.CreateAssemblyManager().LoadAssemblies(proxySettings.WebProjectName, proxySettings.FullPathToTheWebProject);
然后我在每个程序集中搜索我的自定义属性,在这里我得到了上面的错误,即无法加载文件或程序集。
foreach (Assembly assembly in assemblies)
{
var types = assembly.GetTypes().Where(type => type.GetMethods().Any(p => p.GetCustomAttributes(typeof (CreateProxyBaseAttribute), true).Any())).ToList();
}
德语错误:
{"Die Datei oder Assembly \"Internal.Xyz.DomainModel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=d72343e09836ed19\" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden." :"Internal.Xyz.DomainModel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=d72343e09836ed19"}
【问题讨论】:
-
你能展示导致依赖错误的重要模板代码吗?该 T4 模板是否用作某些 ORM(EF 或其他东西)的一部分?
标签: c# .net-assembly t4