【发布时间】:2019-03-22 08:16:50
【问题描述】:
我在运行 C# 应用程序时遇到问题,在尝试使用特定引用时抛出以下错误,如下所示:
无法加载文件或程序集“My3rdPartyAssembly,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。需要强命名程序集。 (来自 HRESULT 的异常:0x80131044)”
然后我关注this answer 签署了有问题的程序集。
我还可以通过 Visual Studio 和 Sn 确认我的 DLL 现在已明确签名并且具有强名称。
但是我看到了两件事:
- 在我签名的应用程序版本中,我仍然遇到与上述相同的错误,就好像程序集没有强名称一样。
- 在我的未签名版本上,直到现在使用未签名的 DLL 都可以正常工作,现在它与已签名的 DLL 版本抛出相同的错误。
我不知道可能是什么原因。
感谢您的帮助。
【问题讨论】:
-
My3rdPartyAssembly 引用的所有程序集是否也是强签名的?这包括您可能编写的其他程序集。所以所有递归引用的程序集都需要有一个强名称。
-
是的,我检查了这个,他们也签名了
-
我遇到了这个问题,因为我有同样的问题。引用的程序集是否可能没有正确定位?也许我们仍然针对以前未签名的构建,即使在签名之后
标签: c# strongname