2009-06-25 73 views
1

我有一个生成(通过MSBuild)Web.config生成目标之前运行其内容包括,其中包括<编译调试=“真正”>。将生成的Web.config复制到根目录并放入“内容”项目组中。但是,当我(通过F5)运行在Visual Studio 2008中的调试版本,我得到了下面的对话框:为什么Visual Studio 2008在启用调试时询问是否启用调试?

Debugging Not Enabled

如果我选择“添加...”,然后单击确定它似乎增加了生成的Web。配置到项目,并在IDE中显示为项目文件。所以也许问题应该是:为什么Web.config文件需要成为项目的一部分?

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

+0

对不起Henk,我重写了这个问题,所以你的评论不适用。我希望现在这个问题更加准确。 – 2009-06-26 02:35:09

回答

1

原来,Visual Studio需要Web.config作为项目的一部分,没有ifs,ands或buts。无论如何,这个MSDN article似乎暗示着它。

为了解决这个问题,我不得不在根目录下创建一个Web.config文件,删除<配置文件中的所有内容,将其保留为空并将其添加到项目中。然后在我的一个自定义构建目标中,备份空的Web.config并将生成的Web.config复制到根目录。除此之外,我的自定义清理目标还原备份的Web.config。通过上述步骤,源代码管理和Visual Studio都无视我的手感。

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

相关问题