2011-01-28 75 views
0

谷歌搜索一小时后,我找不到正确的答案,我遇到的问题,希望你能帮助我。我有一个C#框架3.5类库项目,所以我签署它创建一个简单的键(不延迟登录),然后我obsfuscated该DLL。强烈命名的程序集验证失败,引用从非签名项目

然后,我试图从Windows窗体应用程序访问该程序集,但是当我调用任何程序集的方法时,出现错误:“强名称验证失败”

我不知道我是否也应该签署Windows应用程序来引用强命名的程序集,或者在Windows应用程序的源代码的using指令中添加某种特殊标记。

我是新的强名,所以请给我一些建议如何处理这个。我需要强烈地命名程序集以确保没有入侵者可以替换我的程序集版本。

在此先感谢。

回答

1

抱歉抢走了你的时间,我发现我的问题的原因,并为它的解决方案:

首先,当我obsfuscated大会,产生SNK没了工作,因此该解决方案是在混淆程序集后重新生成SNK。

其次,我需要在我的Windows应用程序中包含SNK文件,以验证强命名的程序集。

这两个改变,一切工作正常。

无论如何感谢您的时间。

+1

解释。对程序集签名会使.Net检查文件是否被篡改。混淆器会更改文件,因此.Net会认为它已被篡改。您不需要签署任何将使用该程序集的应用程序。已签名的程序集只能引用其他签名的程序集。 – 2011-01-28 21:11:46

相关问题