在对引用的程序集 (MyAssembly.dll) 进行签名和重新编译后,我的 Web 应用程序失败并显示“名称为 MyReferencedAssembly 的已定位程序集的清单定义与程序集引用不匹配”。
这是我所期望的,因为 PublicKeyToken 已从 null 更改为新密钥。
看来您应该能够使用 web.config 文件中的 assemblyBinding 部分来使应用程序使用新的签名程序集。
问题是,似乎没有办法识别应用程序将在 assemblyIdentity 元素中寻找的程序集(旧的、未签名的程序集)。
由于旧的 publicKeyToken 值为 null,我尝试将其排除在外,尝试将其设置为空字符串,在引号中为 null,但它们似乎都不起作用。
我尝试更改版本号,以便可以使用从旧版本到新版本的绑定重定向,还尝试为程序集设置特定的代码库。
所有这一切都失败了,所以我不得不相信程序集加载过程只是不喜欢在引用/预期未签名的程序集时加载签名的程序集。
如何执行此映射?
重新编译引用签名程序集的整个代码库不是一种选择。
感谢您的任何建议。