VS报:"dll标记为系统必备组件,必须对其进行强签名"错误
2024-08-25 07:49:00
问题:
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的发布状态由“包括(自动)”改成“包括” 问题解决
最新文章
- C++库(Google Breakpad)
- scala学习之: Flatten a nested list structure
- ThinkPHP 3.2.3 关联模型的使用
- f2fs解析(一)f2fs如何解决wandering tree
- 转:C#精髓 第四讲 GridView 72般绝技
- Leetcode#80 Remove Duplicates from Sorted Array II
- [Webpack 2] Add Code Coverage to tests in a Webpack project
- thinkphp 模板中赋值
- Android(java)学习笔记203:网页源码查看器(Handler消息机制)
- 微信JS-SDK说明文档
- <;%@ Page Language=";C#"; Inherits=";System.Web.Mvc.ViewPage<;dynamic>;"; %>;
- spark升级后 集成hbase-1.0.0-cdh5.4.5异常
- 39.QT-Qtxlsx库使用
- 2018年冬季寒假作业4--PTA 打印沙漏
- 最详细最权威的Android 编码规范
- Android View体系(二)实现View滑动的六种方法
- NFS使用autofs自动挂载
- Windows下利用TortoiseSVN搭建本地SVN服务器
- java中身份证号和的银行卡的深度校验
- col-md-1
热门文章
- WF4.0(3)----变量与参数
- HTML5, CSS3, ES5新的web标准和浏览器支持一览 转
- 创建并发布node.js module
- spring boot测试工具(自带)
- Activity基本跳转
- UVA 10026 Shoemaker&#39;s Problem 鞋匠的难题 贪心+排序
- 更换已存在项目的svn的地址
- hbase中的缓存的计算与使用
- document.body、document.documentElement和window获取视窗大小的差别
- 捕获Chrome浏览器全屏退出事件