替换一个dll时出现.net DLL版本问题

前端之家收集整理的这篇文章主要介绍了替换一个dll时出现.net DLL版本问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下问题.我在一个解决方案中创建了包含多个项目的软件.当我在我的一个项目中修复一个不改变函数行为方式的错误时(例如一个简单的字符串更改,或函数中的额外try / catch块)我必须重新编译并再次提供所有的dll,因为当我只提供更改的dll,版本不匹配.我知道这个问题是因为我的dll被强烈命名.但有没有办法实现我可以只更换已更改的DLL,而版本号被提出,而不更改和分发其他DLL?

解决方法

您可以拥有两个dll,并可以使用bindingRedirect,如下面的链接

dll versioning in dotnet

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="AssemblyName"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="neutral" />
            <bindingRedirect oldVersion="1.0.0.0"
                             newVersion="2.0.0.0"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

猜你在找的Windows相关文章