假设我有两个程序集:
MyExecutable.dll version 1.0.0
MyClassLibrary.dll version 1.0.0
现在,MyExecutable.dll
当前使用 MyClassLibrary.dll
的类和方法(其中包括一些算法)。大多数这些算法都是在运行时制定的,如果需要的话,稍后我会想改进它们。这意味着,我不会更改这些类的接口(interface)
,但代码本身会发生一些变化。
当前的问题是,MyExecutable.dll
将期待 MyClassLibrary.dll 1.0.0
并且我希望它使用版本 1.0.1(或其他版本)像那样)。我不想重新编译 MyExecutable.dll
(因为实际上可能不止一个可执行文件使用 MyClassLibrary.dll
)。这个问题有解决办法吗?我听说过 GAC
,但如果可能的话,我想远离它。
谢谢
最佳答案
您正在寻找Assembly Binding Redirection
- 这是一种可配置的方式来告诉 .NET 使用哪个版本的程序集。
关于c# - 程序集的版本控制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797069/