0

我四处搜索,但找不到我的 dll 问题的解决方案。
我的解决方案添加了许多 dll 引用,并且每个 dll 都强烈依赖于版本。
我只想单独重新编译其中一个并将其添加回解决方案。
但是,由于其他 dll 依赖于版本并引用此 dll,因此会发生一些运行时错误,说明版本不是预期的版本。
我该如何解决这种情况?

4

2 回答 2

1

这实际上取决于您如何制定解决方案。如果您将 DLL 作为 PROJECTs 在与使用它们的程序和其他 DLL 文件相同的解决方案中,您只需右键单击要重新编译的 DLL 项目并单击重建。

希望这对你有帮助!

于 2013-01-08T01:49:15.820 回答
1

配置文件中的程序集重定向发布者策略条目可以解决这个问题。这是文章中的示例片段(您也可以重定向版本范围):

<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" />
        ....

旁注:您应该更仔细地考虑您的版本政策。如果您将程序集提供给其他人,最好避免自动生成的版本,并为每个正式版本使用一个版本,可能为临时构建使用次要版本。同时构建所有项目可能是个好主意。

于 2013-01-08T03:19:22.227 回答