我有一个生成的(通过MSBuild)Web.config,它在Build目标之前运行,其内容包括< compilation debug =“true”>。生成的Web.config将复制到根目录并放入“内容”项目组。但是当我在Visual Studio 2008中运行Debug构建时(通过F5),我得到以下对话框:
如果我选择“添加...”并单击“确定”,则会显示将生成的Web.config添加到项目中,它将作为项目文件显示在IDE中。所以问题应该是:为什么Web.config文件需要成为项目的一部分?
由于源代码控制,我真的想避免在项目中包含生成的配置文件。如果运行应用程序时Web.config文件存在,我不明白为什么要关注Visual Studio。那么,有没有一种方法可以让Visual Studio接受生成的Web.config而不通过IDE添加它?
答案 0 :(得分:1)
原来Visual Studio需要Web.config来部分项目,没有ifs,ands或buts。无论如何,这MSDN article似乎意味着它。
为了解决这个问题,我必须在root中创建一个Web.config,删除< configuration>中的所有内容。有效地将它留空并将其添加到项目中。然后在我的一个自定义构建目标中,备份空的Web.config并将生成的Web.config复制到根目录。除此之外,我的自定义清理目标还原备份的Web.config。通过上述步骤,源代码控制和Visual Studio对我的一手掌握无动于衷。
这种解决方法让我感到畏缩,所以如果有人有真正的解决方案,我会很乐意改变我选择的答案。