首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定位强制绑定重定向的程序集

如何定位强制绑定重定向的程序集
EN

Stack Overflow用户
提问于 2013-10-21 13:48:49
回答 1查看 625关注 0票数 0

假设我们有:

  • 程序集A引用NH版本2.0.0.0。
  • 程序集B引用NH版本2.0.0.0。
  • 汇编C引用NH版本1.0.0.0 (偶然)
  • 我们的测试web项目参考了A,B,C和NH2.0.0.0。

Nuget具有很好的功能,可以自动检测这些程序集冲突,并创建绑定重定向指令。Nuget命令将向测试项目web.config文件添加这样的字符串:

代码语言:javascript
复制
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="NH" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

现在假设我们有更多的库,引用NH。问题是:识别奇怪版本的最好方法(而不是手动)是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-24 16:23:30

要调查绑定错误,可以使用融合日志查看器

您可以将其配置为日志--所有绑定--这基本上可以让您了解从何处加载程序集。

典型的输出如下所示:

代码语言:javascript
复制
=== Pre-bind state information ===
LOG: DisplayName = graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = C:\bla\graphic\cs\
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : graphicfailtest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
===

LOG: Processing DEVPATH.
LOG: DEVPATH is not set. Falling through to regular bind.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
LOG: Attempting download of new URL file:///C:..../graphicfailtest.resources.DLL.
LOG: All probing URLs attempted and failed.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19496371

复制
相关文章

相似问题

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