首页 > 代码库 > VS报:"dll标记为系统必备组件,必须对其进行强签名"错误
VS报:"dll标记为系统必备组件,必须对其进行强签名"错误
问题: VS生成程序时,报“要将程序集“XX.dll”标记为系统必备组件,必须对其进行强签名。”错误。解决方法: 1)在报错的解决方案中找到一个可以发布的项目(引用该XX.dll的项目未必可以发布); 2)右击该项目,选择“属性”; 3)选择“发布”; 4)点击“应用程序文件”按钮; 5)找到该“XX.dll”,将发布状态有“系统必备”改为“包括(自动)”; 6)再次运行成功。
参考:
1、 首先说明一下:X是某程序集的名称,相当于数学中的未知数X。 看到这样的提示,开始我以为是把程序集X的发布状态设为“系统必备”了,我检查了一下,发现程序集X的发布状态是“包括(自动)”,看样子提示信息误本身有误,但发
布的包里有十几个程序集,单单是X出现了问题,原因必然和X有关,这个结论应该是没有错的。 后来经过几番折腾,终于找了问题原因: 被打包的程序由一个EXE程序集和十几个DLL程序集组成,EXE程序集和其中4个DLL程序集都引用了程序集X,但是其中有一个DLL程序集引用的是X的7.5版本,其他程序集引用
的是X的7.6版,这样导致了版本冲突,自然无法发布。 虽然.NET给出了错误提示,但里面还是包含了找出问题原因的线索,其他造成此错误的原因估计也应该和程序集的版本有关,希望此文对您有所帮助。 2、 最近编译经常偶尔出现标题这个错误,有时重启电脑,就正常了,有时重启也不行,真蛋疼,后来发现把dll预先拷贝到生成目录,也可以避免这个编译错误,但是实在是麻
烦,再去Google了半天,终于找到了解决方案:右击报错的项目=〉属性=〉发布=〉把这个dll的发布状态由“包括(自动)”改成“包括” 问题解决
VS报:"dll标记为系统必备组件,必须对其进行强签名"错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。