作为开发人员,我希望我的编译器(在本例中为Visual Studio中的MSBuild)在包含磁盘上缺少的任何csproj
项目中的文件时会严重失败。在目睹从网站上意外删除web.config之后,我想到了这个想法。 MSBuild很乐意在没有它的情况下进行编译(并且在连续集成中也会这样做,因为它也只是运行MSBuild)。
有没有办法强制MSBuild在构建成功之前检查所有解决方案项目中引用的所有文件是否存在?启用警告作为错误似乎不会这样做。事实上,在查看输出时,我没有看到任何文件丢失的通知。我知道它标记了标记为"编译"的项目文件的丢失文件,但仅限内容的文件呢?
答案 0 :(得分:1)
确实,如果将内容项设置为"请勿复制"那么它不会在MSBuild中导致错误甚至是警告。但是,如果您将其设置为“#34;复制如果更新"或者将类型更改为"资源" (仍然留在"不要复制")然后它会触发错误。我能够制作一个随机的.bak文件a"资源"对我的构建没有任何负面影响,我可以告诉你。