首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# T4使用web.config中的assemblybinding / bindingRedirect

C# T4使用web.config中的assemblybinding / bindingRedirect
EN

Stack Overflow用户
提问于 2017-08-11 14:40:39
回答 1查看 695关注 0票数 2

我已经在我的web项目中创建了自己的T4 Tempalte,它从我当前的解决方案中加载使用过的程序集,并创建一些文件。

到目前为止,它工作得很好。但是现在我已经将我的一个NuGet组件更新到了一个新版本,并且我添加了一个assemblyBinding部分,这样我的组件的旧版本和新版本就可以工作了。到目前为止,这对我的网站本身也很有效。

但是我的T4模板现在带来了一个

代码语言:javascript
复制
The File or Assembly "\xxx...\...." or a dependency could not be found

我的T4模板似乎没有读取我在web.config中的dll部分,有没有解决这个问题的办法,而不需要更新每个依赖dll中的程序集引用。

我正在使用T4模板和一个编译好的动态链接库来实现代码,并且在我的动态链接库中加载我的程序集,这很好用。

代码语言:javascript
复制
  var assemblies = Factory.CreateAssemblyManager().LoadAssemblies(proxySettings.WebProjectName, proxySettings.FullPathToTheWebProject);

然后我在每个程序集中搜索我的自定义属性,在这里我得到了上面的错误,文件或程序集无法加载。

代码语言:javascript
复制
  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"}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 20:02:14

问题是,T4模板没有使用项目内部的web.config,T4模板在visual Studio的上下文中运行,并使用visual studio的配置。

要解决此问题,请在visual studio中编辑配置并在其中添加dependentAssembly绑定。

对于VS 2015,请使用以下路径

代码语言:javascript
复制
c:\users\[user]\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.config

在VS 2017中,您需要使用以下路径

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE

您需要重新启动visual studio。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45628571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档