c# – MSBuild在丢失的项目文件上强制编译失败

作为开发人员,我希望我的编译器(在本例中为Visual Studio中的MSBuild)在磁盘上缺少的任何csproj项目中包含文件时会严重失败.在目睹从网站上意外删除web.config之后,我想到了这个想法. MSBuild很乐意在没有它的情况下进行编译(并且在持续集成中也会这样做,因为它也只是运行MSBuild).

有没有办法强制MSBuild在构建成功之前检查所有解决方案项目中引用的所有文件是否存在?启用警告作为错误似乎不会这样做.事实上,查看输出,我没有看到任何文件丢失的通知.我知道它标记标记为“编译”的项目文件丢失文件,但是仅限内容文件呢?

解决方法

确实,如果将Content项设置为“Do not copy”,那么它不会在MSBuild中导致错误甚至是警告.但是,如果将其设置为“如果更新则复制”或将类型更改为“资源”(仍将其保留为“不复制”),则会触发错误.我能够将一个随机的.bak文件变成一个“资源”,对我的构建没有任何负面影响,我可以告诉他.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...