签名引用程序集后出现构建错误

3
在对一些之前已经成功编译的程序集进行签名后,我在项目中遇到了构建错误。 在错误列表中,我看到了如下的错误信息:

类型“XXX”是在一个未被引用的程序集中定义的。 您必须添加对程序集“XXX, Version=[正确的版本], Culture=[正确的区域性], PublicKeyToken=null [不正确的公钥令牌]” 的引用。

当我退回到未签名的程序集时(唯一的代码差异是引用程序集中的签名信息以及存储共享密钥的解决方案),一切都可以再次构建。

不幸的是,这些文件需要签名,因此我想知道是否有人遇到过这个问题?

谢谢, 罗布


我应该补充说明,签名程序集的.csproj引用是正确的,我已经尝试使用 SpecificVersion=True 和 False。 - Rob
你尝试过全量重建吗? - Nick Butler
所以你正在使用延迟签名?请确保使用正确的密钥,并使用 SN -vf 检查您的程序集。尝试删除并重新创建已签名程序集上的引用。 - Guillaume
Nicholas: 我已经尝试了重建所有内容,删除 bin 和 obj 并使用和不使用 NuGet 引用程序集;但都无济于事。 Guillaume: 所有程序集都是非延迟签名且没有用户名/密码。谢谢。 - Rob
1个回答

4
感谢所有人的答复。
事实上,这与程序集已经被签名没有任何关系。还有其他程序集仍然引用了旧版本的签名文件,这是我没有发现的。
通常情况下,错误总是出现在键盘和椅子之间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接