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

标签 .net dll reference version distribute

我有以下问题。我创建了软件,在一个解决方案中包含多个项目。当我在我的一个项目中修复一个不会改变函数行为方式的错误时,(例如一个简单的字符串更改,或一个函数中的额外 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>

关于替换一个 dll 时的 .net dll 版本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321511/

相关文章:

c++ - 从(std::function)输出lambda中的引用传递值?

c++ - 参数通过引用传递给指针问题

.net - ApplicationInsights 遥测可以帮助诊断高 CPU 使用率问题吗?

c# - 哪个程序集执行代码?

c# - 跨线程操作无效(How to access WinForm elements from another module events?)

c++ - 共享对象和dll之间的区别

c++ - WinDbg 可以告诉我什么是 Visual Studio 不能的?

c++ - 尝试指向自动对象时应该使用什么策略?

c# - Jquery AJAX 与 ASP.NET WebMethod 刷新整个页面

c# - 带有 HttpContext 的目标上的 ThreadPool QueueUserWorkItem 错误