【发布时间】:2014-02-18 08:48:43
【问题描述】:
我正在为一个库编写一个包装器,该库在一个版本和另一个版本之间的 API 发生了巨大变化,因此我需要创建一个允许我访问同一 API 的两个版本的合同。 这是我的项目结构:
- Client.dll
- References
- Contract.dll
- Version01.dll
- Version02.dll
- Contract.dll
- IMyService.cs
- Version01.dll
- MyServiceImplementation.cs
- References
- Version01Assembly.dll
- Version02.dll
- MyServiceImplementation.cs
- References
- Version02Assembly.dll
在项目内部 Client.dll 我可能需要调用服务的一个实现或另一个实现,这很好。问题是加载到 AppDomain 中的程序集始终是 Version02Assembly.dll 原因在我的客户端的 bin 文件夹中我总是只找到此依赖项的最新版本。 如何让这两个库引用同一程序集的不同版本?
我希望问题很清楚
【问题讨论】:
-
您想在一个项目中引用两个版本的程序集?
-
不行,看项目结构。它是一个引用外部程序集的依赖项。两个版本使用两个不同的依赖版本
标签: reflection .net-assembly assembly-resolution