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

时间:2011-09-06 14:26:56

标签: .net dll reference version distribute

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

1 个答案:

答案 0 :(得分:1)

您可以同时拥有两个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>