c# - 当新版本已签名但以前未签名时,.NET 程序集绑定(bind)重定向

标签 c# .net runtime

我在 .NET 程序集重定向方面遇到问题。第 3 方程序集 A 引用另一个第 3 方程序集 B。B 未签名,因此它没有公钥 token 。 A 的 list :

....
.assembly extern B
{
  .ver 1:0:0:0
}
....

如何进行绑定(bind)重定向到已签名的 B 的下一个版本? 如果我没有在 assemblyBinding/dependentAssembly/assemblyIdentity 中指定 publicKeyToken,则运行时找不到程序集“B,Version=2.0.0.0,Culture=neutral,PublicKeyToken=null”。如果我指定,则重定向规则与元数据中的依赖程序集引用不匹配。

最佳答案

如果您知道下一个版本将被签名,您可以获取公钥的副本吗?

顺便说一句,在流程中从未签名更改为签名而无需重新编译,从技术上讲是可以完成的,但这是一个非常糟糕的主意。

关于c# - 当新版本已签名但以前未签名时,.NET 程序集绑定(bind)重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821982/

相关文章:

c# - 从其基类调用继承的方法

algorithm - 第 K 个最大的数,为什么它的运行时间是 O(n) 而不是 O(nlogn)

c# - 事件处理程序引发方法约定

c# - Xamarin Android 数据绑定(bind)与 MVVM Light

c# - 获取 Windows 上下文菜单选择的位置?

c# - 单元测试 : Clone and equality

c# - FluentNHibernate SubClassMap 问题 : Discriminator fail

c# - 异步和线程文化

c# - WPF - 运行时更新绑定(bind)问题

.net - 如何在运行时转换类型?