控制台应用程序的引用的C#版本控制

Den*_*ski 2 c# versioning dll visual-studio

我已经构建了一个控制台应用程序,它引用了我们构建的另一个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的所有后续版本中.

Jon*_*eet 5

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

<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>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,另请参阅"重定向程序集版本".

这假设您不想重新编译应用程序,当然 - 如果您不介意重新编译,那么只需将"使用特定版本"设置为false就可以了.