我已经构建了一个控制台应用程序,该应用程序引用了我们构建的另一个dll的版本4.3.2.1。

它工作得很好,并做了自己的工作。

然后构建dll的4.3.2.2版本,并且控制台应用程序由于要查看4.3.2.1而开始死亡。

有什么办法告诉控制台应用程序使用4.3.2.1或更高版本? 4.3.2.1中提供的方法也存在于4.3.2.2中,并且将在dll的所有后续版本中使用。

最佳答案

使用app.config的<assemblyBinding>元素:

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="Foo.dll"
                              publicKeyToken="1234567890abcdef"
                              culture="neutral" />
            <bindingRedirect oldVersion="4.3.2.1"
                             newVersion="4.3.2.2"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>


有关更多信息,另请参见"Redirecting Assembly Versions"

当然,这是假设您不想重新编译应用程序-如果您不介意重新编译,则只需将“使用特定版本”设置为false即可。

关于c# - 控制台应用程序的引用的C#版本控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1233522/

10-12 00:01
查看更多