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

替换一个dll时出现.net dll版本问题,.net,dll,reference,version,distribute,.net,Dll,Reference,Version,Distribute,我有以下问题。我创建了一个软件,在一个解决方案中包含多个项目。当我在我的一个项目中修复了一个没有改变函数行为的bug时(例如一个简单的字符串更改,或者函数中的一个额外的try/catch块),我必须重新编译并再次提供我的所有dll,因为当我只提供更改后的dll时,版本不匹配。我知道这个问题是由于我的dll是强名称的。但是有什么方法可以做到我可以在提高版本号的同时替换已更改的dll,而不必更改和分发其他dll?您可以同时拥有这两个dll,并且可以使用bindingRedirect,如下链接所示

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

您可以同时拥有这两个dll,并且可以使用bindingRedirect,如下链接所示



我可能有点误解,但您不能将DLL
特定版本的属性设置为false吗?请仔细查看该版本号。增量为[AssemblyFileVersion],而不是[AssemblyVersion]。特定版本不可用于项目引用。我将“程序集版本”更改回更改前的版本号,但没有更改。如果我阅读@EugeneO的链接,我基本上明白我想做的是不可能的,因为我签署了我的项目?我认为使用dll可以使我只替换软件的一部分:-(
<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>