C#dll强版本问题

时间:2013-01-08 01:42:29

标签: c# .net dll runtime

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

2 个答案:

答案 0 :(得分:1)

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

希望这能帮到你!

答案 1 :(得分:1)

配置文件中的

Assembly redirection publisher policy条目可以解决这个问题。以下是文章中的示例片段(您也可以重定向版本范围):

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

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