我正在尝试在我的项目程序集中引入强签名。
我的项目输出保存在 XML 中,并且提到了一个类型(在签名之前):
typestr="XYZ.PQR, MyWidget, Version=1.0.2406.20198, Culture=neutral, PublicKeyToken=null"
在所有程序集都使用带有令牌的公钥 622edca63ee1770c 进行签名之后。我在 app.config 文件中引入了 <assemblyBinding> 块,如下所示:
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="MyWidget" publicKeyToken="622edca63ee1770c" culture="neutral"/>
<bindingRedirect oldVersion="1.0.2406.20198" newVersion="0.1.27.10695"/>
</dependentAssembly>
</assemblyBinding>
我仍然收到错误:
无法加载文件或程序集“EPGWidget,版本=1.0.2406.20198,Culture=neutral,PublicKeyToken=622edca63ee1770c”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
当一个代码片段像:
Type type = Type.GetType(typestr);
以下被执行。但是,它适用于:
typestr="XYZ.PQR, MyWidget"