‘xx.dll’should be excluded because its source file ‘...’is under Windows System File Protection.

7 篇文章 1 订阅
4 篇文章 0 订阅

在VS中使用Setup工程将exe打包时,正常流程是:添加了目标exe(无论是选择添加文件还是添加项目输出),工程会自动将exe的依赖项即一些dll拷贝exe的目标文件夹下。如图:

但若遇到标题这样的warning,总是很让人不爽,如图:

尽管生成成功了,但为了避免不必要的问题,当然这样也确实可能会出现一些意料不到的问题:https://www.add-in-express.com/forum/read.php?FID=5&TID=5524

如何想办法把warning消除?

做法:将所有报warning错误的dll,进入F4属性窗口将“Exclude”属性设置为"True",如图

或右键该dll选择“排除”即可(同样排除后“Exclude”属性亦被设置为“True”,相同效果),如图:

中间可能会遇到这样的情况:

尽管同样的生成成功了,可以发现上图是由于添加了一个“System.Private.DataContractSerialization.dll”文件,但未找到其依赖项导致的,是因为我们上一步把system.xx.dll都剔除掉了的原因,个人认为可以无需考虑,因为只要安装了.net framework的环境,这些系统程序集自然是能在C盘共享程序集下找到的。如果没有安装环境,exe自然也运行不起来,自然也轮不到该dll调用系统程序集了。(个人见解)

最后无报错的结果如下:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值