gpt4 book ai didi

.net - .net 中的绑定(bind)重定向问题

转载 作者:行者123 更新时间:2023-12-03 22:56:04 24 4
gpt4 key购买 nike

我有一个名为“MyAssembly”的类库,它在内部引用版本 3.1.1.0 的 a.dll、b.dll;我已经构建了输出 MyAssembly.dll 的项目。在另一个系统(框)上,我创建了一个 Web 应用程序项目并引用了 MyAssembly.dll。新系统有新版本的a.dll和b.dll 4.0.0;我在 web.config 中使用了绑定(bind)重定向,如下所示。但仍然无法编译 Web 应用程序。它说缺少程序集引用 a.dll,版本 3.1.1.0。

任何机构都可以帮助解决这个问题吗?

谢谢,
苏雷什

最佳答案

这对我完全有用。注意:您需要 没有命名空间 configuration标签。而你必须有一个命名空间 在您的 assemblyBinding 上标签。

<assemblyBinding> Element for <runtime>

<!-- important: no namespace -->
<configuration>
<runtime>
<!-- important, must have this namespace -->
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Strongly.Named.Assembly" publicKeyToken="xxx" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

做这两个,否则它不会读取它。如果在这个例子中它给出了一个错误,它不能加载除了 2.0.0.0 之外的任何东西,那么它没有正确地选择配置元素。

这也仅适用于强命名程序集。要确定某个东西是否被强命名,请从 VC 命令窗口运行以下命令

打开(开始菜单 > 所有程序 > Visual Studio > Visual Studio 工具 > Visual Studio 命令提示符)

然后运行:
sn -vf "path-to-assembly.dll"

如果它返回它是有效的,那么它是强命名的。

来源:
http://blog.codingoutloud.com/2010/03/13/three-ways-to-tell-whether-an-assembly-dl-is-strong-named/

关于.net - .net 中的绑定(bind)重定向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com