8

有没有人知道在编译时让visual studio完全忽略文件的方法?我有一个C#解决方案,它有一个foo.config文件,它不是一个真正的标准配置文件 - 它只是一个文本文件。在编译VS时抓住文件和炸弹。如何使Visual Studio编译器忽略文件?

我想让它看起来好像只是一个文本文件。我没有选择更改文件的名称。

编辑:请注意BuildAction不会排除编译器检查它们的文件。它只是决定文件是否被编译到程序集中,不管它是内容(如jpg或其他),还是它是一个资源文件。欲了解更多信息:see the MSDN page。编辑2:显然,如果你有一个名为foo.config的文本文件,并且在构建时打开它,VS2005会弹出一个错误,认为该文件应该是xml。但是,如果关闭文件,VS2005将忽略它。

解决方案:如果您在构建期间打开了不符合规范的文件,Visual Studio验证会导致错误。有关如何关闭此功能(用于HTML)的示例,请参阅Scott Guthrie's post。正如艾伦所提到的,您还应该将生成操作转换为“无”。不幸的是,如果打开文件,这不会阻止构建错误。

+1

@ edit2:对,我在我的回答中完全如此解释:) – 2009-03-05 15:46:25

回答

21

右键点击>属性

生成操作:设置为“无”

编辑:如果你在谈论的app.config,你真的不能惹的,该格式,你需要把它在一个不同的.config文件中。

我只是加倍检查,VS.net不在乎,只要它没有app.config或web.config和配置文件构建操作设置为“无”,它会“错误”,如果你有文件打开但它不会导致构建失败或阻止构建程序集。

关闭文件,错误将消失,类似于您获得有关HTML标记的错误。这些“错误”的显示可能是vs.net中的一个可配置设置。

2

只需右键单击该文件并选择“从项目中排除”。

如果您仍想在您的项目中看到它,请选择该项目,然后单击解决方案资源管理器顶部的“显示所有文件”按钮。这将显示目录树中的所有文件,即使它们实际上不是项目的一部分。

+0

尽管它会被排除在代码源控制之外。 – Crono 2016-03-02 15:42:19

+0

@Crono - 可能,但这一切都取决于你用于源代码管理的东西。 – 2016-03-02 16:11:14

1

你确定VS编译.config文件?

您应该检查它是文件选项中的生成操作,并可能将其设置为无。

5

要执行的操作取决于解决方案和文件类型。例如(在VS2005中),在C++解决方案中,我可以右键单击解决方案资源管理器中的源文件名并查看其属性。第一个“常规”选项是“从构建中排除”,这将允许您从构建过程中排除文件,而不必从项目中排除该文件。

我在C#解决方案中拉出了一个.config文件,并在Advanced部分下找到了“Build Action”选项。这应该设置为“无”。