我们有一个关于编译时程序集绑定重定向的问题:
- Team V(退伍军人)正在开发产品 P1
- P1 由 Team V 在两个分支(分支 1.6.x 和 1.7.x)中不断开发,因此产品 P1 的版本在两个分支中随着时间的推移而增加
- NG 团队(新一代)基于产品 P1 构建了产品 P2(使用 P1 分支 1.7 中的某些组件)
- 产品 P2 包含一个程序集 A2(强命名),可帮助实现基于 P1 的任何产品(P2、P3...)
- NG 团队为程序集 A2 创建了一个 Nuget 包(它引用了 P1 分支 1.7 中的某些程序集)
- 现在,NG 团队已经启动了产品 P3,并且必须使用 P2 中的程序集 A2 和 P1 中的程序集 A1
- P1 中的程序集 A1 也可作为 Nuget 包提供,但在 1.6 版中(因为 1.7 尚未批准用于产品 P3)
- 因此,NG 团队现在拥有带有两个参考的产品 P3:A2 和 A1
- 现在的问题是,A2 在 1.7 版中引用了 A1,但我们在 1.6 版中只有 A1
- Team NG 在 1.7 版本中不允许使用 A1
这就是我们在编译时为强命名程序集寻找绑定重定向的原因。据我所知(通过调查),在为强命名程序集设置此属性时,“特定版本”属性无效。
是否可以进行这样的重定向,或者还有其他建议吗?
非常感谢提前问候,迈克尔