更改dll清单

时间:2009-08-10 12:46:59

标签: .net dll

我从分包商那里获得了一个完整的vs2005项目,这取决于他们的其他几个项目。我没有得到那些项目的源文件,但我确实在bin / debug文件夹中有他们的dll(让我们称之为a.dll和b.dll)。 我将这些dll复制到\​​ lib文件夹中,并将引用更改为指向那里。我现在遇到的问题是a.dll和b.dll依赖于我们正在开发的产品的特定版本,我们的系统安装了不同的版本。

是否有一种简单的方法可以打开a.dll和b.dll并更改其清单以定位我们的产品版本?或者更好 - 让它们不依赖于特定的版本?

1 个答案:

答案 0 :(得分:0)

您可以使用Assembly Binding Redirection使所需版本实际加载您已获得的版本吗?

e.g。在你的app.settings文件中,有这样的东西:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="myAssembly"
                          publicKeyToken="32ab4ba45e0a69a1"
                          culture="en-us" />
        <bindingRedirect oldVersion="1.0.0.0"
                         newVersion="2.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>