我有C#.net exe,我在其中添加对第三方dll的引用。
这些第三方dll是在GAC注册的强名称程序集。
我使用第三方dll(比如7.0版)编译我的程序。
当我尝试在一台机器中注册我的C#.net exe程序时,该机器在GAC注册了第三方dll(比如7.0以上版本)。
如果在我使用目标机器中存在的dll版本重新编译我的C#项目时,在少数机器中随机失败,说明“无法找到程序集版本7.0类型未注册”,它将成功运行..
注意: 一个。假设项目最初使用汇编版本7.0.4.82和&amp ;;编译。试图在11.0.367.0中运行。 湾Test.Framework,Test.Core是引用的程序集。
要解决的步骤:
使用以下app.config文件尝试了程序集重定向技术。
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" >
<dependentAssembly>
<assemblyIdentity
name="Test.Framework"
publicKeyToken="ebf6b2ff4d0a08aa" culture ="neutral"/>
<bindingRedirect oldVersion="7.0.4.82"
newVersion="11.0.367.0" />
<publisherPolicy apply="no" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity
name="Test.Core"
publicKeyToken="ebf6b2ff4d0a08aa" culture ="neutral"/>
<bindingRedirect oldVersion="7.0.4.82"
newVersion="11.0.367.0" />
<publisherPolicy apply="no" />
</dependentAssembly>
</assemblyBinding>
请建议我解决此问题的一些步骤。
先谢谢。