我有以下问题.我在一个解决方案中创建了包含多个项目的软件.当我在我的一个项目中修复一个不改变函数行为方式的错误时(例如一个简单的字符串更改,或函数中的额外try / catch块)我必须重新编译并再次提供所有的dll,因为当我只提供更改的dll,版本不匹配.我知道这个问题是因为我的dll被强烈命名.但有没有办法实现我可以只更换已更改的DLL,而版本号被提出,而不更改和分发其他DLL?
解决方法
您可以拥有两个dll,并可以使用bindingRedirect,如下面的链接
<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>