web.config文件在构建后恢复到之前的状态?

时间:2016-10-06 15:33:28

标签: c# asp.net visual-studio

我在Visual Studio 2015上的web.config文件遇到了一个令人费解的问题。我打开项目,打开web.config文件并更新连接字符串以指向其他数据库源。我保存更改,然后关闭web.config文件。如果我打开备份web.config文件,我所做的更新仍然存在。但是在我进行构建之后,如果我打开web.config文件,我的更新已恢复到以前的状态。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我有同样的问题。事实证明我的.csproj文件中的默认设置有一个修改...

<Target Name="BeforeBuild">
    <TransformXml Source="Web.Template.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>

这将在构建时基于Web.debug.config,Web.release.config等生成web.config文件。

如本文所述:http://www.kongsli.net/2012/01/13/enabling-web-transforms-when-debugging-asp-net-apps/

答案 1 :(得分:0)

不确定这是否适用于您的情况,但是“ \ YourAppName \ .vs \ config”文件夹中有一个“ applicationhost.config”文件,该文件应该不在项目的根目录下。确保所有链接都指向当前解决方案。

这只是发生在我身上,因为我将现有项目复制到一个新位置并进行了修改。突然成功构建后,我又回来了,我的所有web.config设置都还原为原始副本。 “ web.config”中的每个节点都匹配一个“ T”。我编辑了从旧位置到新位置的所有引用,希望这不再是问题。该文件显然未包含在搜索中,因为当我在项目中查找旧路径时并没有显示该文件。确保也搜索旧路径,以确保它不会成为问题。

enter image description here