我已经在我的web项目中创建了自己的T4 Tempalte,它从我当前的解决方案中加载使用过的程序集,并创建一些文件。
到目前为止,它工作得很好。但是现在我已经将我的一个NuGet组件更新到了一个新版本,并且我添加了一个assemblyBinding部分,这样我的组件的旧版本和新版本就可以工作了。到目前为止,这对我的网站本身也很有效。
但是我的T4模板现在带来了一个
The File or Assembly "\xxx...\...." or a dependency could not be found我的T4模板似乎没有读取我在web.config中的dll部分,有没有解决这个问题的办法,而不需要更新每个依赖dll中的程序集引用。
我正在使用T4模板和一个编译好的动态链接库来实现代码,并且在我的动态链接库中加载我的程序集,这很好用。
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 \"Internal.Xyz.DomainModel,Version=2.1.0.0,Culture=neutral,PublicKeyToken=d72343e09836ed19\”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"}
发布于 2017-08-11 20:02:14
问题是,T4模板没有使用项目内部的web.config,T4模板在visual Studio的上下文中运行,并使用visual studio的配置。
要解决此问题,请在visual studio中编辑配置并在其中添加dependentAssembly绑定。
对于VS 2015,请使用以下路径
c:\users\[user]\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.config在VS 2017中,您需要使用以下路径
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE您需要重新启动visual studio。
https://stackoverflow.com/questions/45628571
复制相似问题