如何防止旧版本的C#dll运行

时间:2018-12-03 14:26:37

标签: c# .net dll versioning

我有一个库项目,该库项目已在其他各种程序中使用,并且我想阻止运行旧版本的库。是否可以包含每次加载dll时都会被调用的代码段?

还是您有其他想法如何防止在程序中调用较旧的版本?

更准确地说,我想防止将来的旧版本运行,不会影响当前正在使用的旧版本。

1 个答案:

答案 0 :(得分:2)

您可以在配置文件中定义它:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json"
                          publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect  oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
      </dependentAssembly>

这样,只要您具有与该标识匹配的程序集,该框架就会使用您提供的其他版本。