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