我有一个使用MEF加载部件的系统,这些部件都依赖于核心库。在构建项目时,我会向.dll文件添加版本号,例如:
- part1-1.0.0.0.dll
- part2-1.0.0.0.dll
- /parts/part1-v1.dll
- /parts/part2-v1.dll
- composer-v1.exe
- core-v1.exe
- /parts/part1-v1.dll
- /parts/part1-v2.dll
- /parts/part2-v1.dll
- composer-v1.exe
- core-v1.dll
- core-v2.dll
[Export(typeof(IPart))]
public class Part1
{
public string GetSomethingFromCore()
{
return Core.GetSomethingFromCore();
}
}
[Export(typeof(IPart))]
public class Part2
{
public string GetSomethingFromCore()
{
return Core.GetSomethingFromCore();
}
}