Jef*_*rom 19 c# dll reference version assembly-resolution
我需要使用C#应用程序的内置版本并更改其中一个引用dll.最好的方法是什么,我在参考dll上关闭了特定版本,但是当我测试用新版本替换dll时,我得到"无法加载文件或程序集XXXXX,版本= XXXXX.是有一种方法可以阻止加载器关心dll的版本,这样dll只会尝试加载?
Jef*_*nal 20
是的,您可以这样做 - 请参阅MSDN文章重定向程序集版本.
您应该阅读整个文档,但它主要涉及程序集的发布者创建"发布者策略文件"或消费者添加bindingRedirect到app.config文件,如此(直接从文章中复制):
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
几点说明:
如果您没有明确指定您的文化(许多人没有),那么它将是"中立的"而不是"en-us".
如果您还不知道,可以使用强名称实用程序获取程序集的公钥令牌,如下所示: sn -t [AssemblyPath]
| 归档时间: |
|
| 查看次数: |
8659 次 |
| 最近记录: |