为什么Visual Studio 2008会在启用调试时询问是否启用调试?

时间:2009-06-25 17:39:56

标签: asp.net visual-studio-2008 msbuild debugging web-config

我有一个生成的(通过MSBuild)Web.config,它在Build目标之前运行,其内容包括< compilation debug =“true”>。生成的Web.config将复制到根目录并放入“内容”项目组。但是当我在Visual Studio 2008中运行Debug构建时(通过F5),我得到以下对话框:

Debugging Not Enabled

如果我选择“添加...”并单击“确定”,则会显示将生成的Web.config添加到项目中,它将作为项目文件显示在IDE中。所以问题应该是:为什么Web.config文件需要成为项目的一部分?

由于源代码控制,我真的想避免在项目中包含生成的配置文件。如果运行应用程序时Web.config文件存在,我不明白为什么要关注Visual Studio。那么,有没有一种方法可以让Visual Studio接受生成的Web.config而不通过IDE添加它?

1 个答案:

答案 0 :(得分:1)

原来Visual Studio需要Web.config来部分项目,没有ifs,ands或buts。无论如何,这MSDN article似乎意味着它。

为了解决这个问题,我必须在root中创建一个Web.config,删除< configuration>中的所有内容。有效地将它留空并将其添加到项目中。然后在我的一个自定义构建目标中,备份空的Web.config并将生成的Web.config复制到根目录。除此之外,我的自定义清理目标还原备份的Web.config。通过上述步骤,源代码控制和Visual Studio对我的一手掌握无动于衷。

这种解决方法让我感到畏缩,所以如果有人有真正的解决方案,我会很乐意改变我选择的答案。