强烈命名三个相互引用的程序集

时间:2010-01-14 20:35:14

标签: c# .net windows dependencies strongname

这可能很容易,但我很难过(而且我是c#的菜鸟)。我有3个相互引用的程序集(例如,注册委托方法的通知,或者调用公共方法),所有这些程序都可以正常编译,直到我尝试使用强名称对它们进行签名。然后我无法编译其中任何一个,因为其他两个没有强名称。我错过了什么?我为这三个创建了一个强名称文件,但是不能包含snk并编译它们。

2 个答案:

答案 0 :(得分:4)

如果您创建了一个要在其中三个上使用的snk文件,请选择: 从项目的上下文菜单中添加现有项目。

浏览到snk文件,然后点击“添加”按钮旁边的箭头选择“添加为链接”。

然后在项目属性中确保在选项卡中签名选中“签署程序集”复选框,然后选择刚刚添加到项目中的密钥文件。

这应该可以解决问题。

答案 1 :(得分:2)

强名称程序集只能引用其他强名称程序集。

  

当你引用强名字时   汇编,你希望得到肯定   版本和版本等的好处   命名保护。如果强名   然后程序集引用程序集   用一个简单的名字,但没有   有这些好处,你输了   你可以从使用a中获得的好处   强烈命名的集会并恢复   DLL冲突。因此,名气很大   程序集只能引用其他程序   强烈命名的集会。

引自MSDN