【问题标题】:.net dll version issue when replacing one dll替换一个dll时.net dll版本问题
【发布时间】:2013-10-16 20:31:58
【问题描述】:

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

【问题讨论】:

  • 我可能理解有误,但是你不能把DLL的属性Specific Version设置为false吗?
  • 小心那个版本号。增加 [AssemblyFileVersion],而不是 [AssemblyVersion]。
  • 特定版本不适用于项目参考。我将“程序集版本”改回了我更改之前的版本号,但没有任何改变。
  • 如果我阅读了@EugeneO 的链接,我基本上明白我想要的东西是不可能的,因为我签署了我的项目?我认为使用 dll 可以让我只替换部分软件:-(

标签: .net dll reference version distribute


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2012-12-21
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    相关资源
    最近更新 更多