为什么构建操作:* .cs文件没有被忽略?

时间:2010-08-19 22:45:59

标签: c# visual-studio-2010

在一个项目中我有一个糟糕的文件,我想保留它。我知道,我可以使用“从项目中排除”,但这会隐藏文件(在VS 2010中,在VS 2008中,它仍然可见)。但相反,我点击了属性Build Action: None下的内容。当我编译时,项目编译,但是当我查看错误列表时,它仍然显示该文件的错误。

报告的错误不应该排除已从构建中排除的文件的错误吗?即,标记为Content的文件永远不会构建。但是当* .cs文件为Content时,错误列表仍会显示此文件的错误。这不仅仅是一种麻烦。在大型项目中,许多错误和警告来自于从未编译过的文件,从而模糊了重要的错误。我该怎么做才能防止这种情况发生?

1 个答案:

答案 0 :(得分:6)

文件实际上是从构建中排除的,但不是来自IDE中的后台编译,它在错误列表 1 中产生错误。

最简单的方法是注释掉整个文件,按Ctrl+A选择所有内容,然后Ctrl+K, C注释掉文件。

另一种选择是使用条件编译。在源文件的顶部插入一个未定义的预编译器常量:

#if DONTINCLUDE
...
//code goes here
...
#endif

当然,另一个选择是重命名文件,使其具有不同的扩展名,例如。文本。这将使您失去与C#相关的所有IDE功能,例如语法高亮。

1 当您将构建操作设置为编译以外的其他内容时,您实际上会看到错误列表包含的错误较少(据我只能看到语法错误)