在构建 Web 应用程序后使用 Visual Studio2010 web.config 转换

Posted

技术标签:

【中文标题】在构建 Web 应用程序后使用 Visual Studio2010 web.config 转换【英文标题】:use visual studio2010 web.config transforms after building the web application 【发布时间】:2012-05-24 14:32:13 【问题描述】:

我在 Visual Studio 2010 中使用 web.config 转换。

我已通过右键单击 web.config 文件并选择名为“添加配置转换”的选项来添加转换。通过这个,我在我的解决方案中添加了一些配置文件。通过 VS2010 发布我的项目后,我的 web.config 将使用选定的配置文件(如 web.dev.config)进行更新。

我的问题是:

我可以在构建时(或构建后)使用选定的配置文件(如 web.dev.config)更新我的 web.config 文件吗?

谢谢, 鲯鳅

【问题讨论】:

【参考方案1】:

我同意 Pablo 的 cmets。你不应该覆盖 web.config。

如果需要,您可以在编译时转换所有文件。

这里是如何做到这一点。编辑项目文件 (.csproj) 并添加以下代码。确保路径正确。

<Target Name="AfterBuild">
    <TransformXml Source="$(SolutionDir)WCFServices\Web.config" 
                  Transform="$(SolutionDir)WCFServices\Web.Release.config" 
                  Destination="$(OutDir)WebRelease.config" 
                  StackTrace="true" />
</Target>

【讨论】:

感谢您的回答。但是,如果您已经解释了在 .csproj 中添加该代码的位置,那就太好了【参考方案2】:

嗯,实际上配置转换的目的之一是原始 .config 保持不变(我将尝试找到提到这一点的 MS 文档)。

默认的 web.config 实际上应该是您的 DEV 配置,以便它在您的环境中以及在部署时工作。

在我看来,让配置文件保持不变实际上似乎更安全一些,因为如果不这样做,您在使用 TFS 或 SVN 等源代码控制时就会遇到问题。您可能希望远离会改变您每天签入的代码库的构建过程。

【讨论】:

以上是关于在构建 Web 应用程序后使用 Visual Studio2010 web.config 转换的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 中将我的 HTML/JS/PHP 项目构建为渐进式 Web 应用程序?

ST Visual Programmer批量烧写教程

无法在 Visual Studio 2019 上为 VB.NET Web 应用程序创建新的构建配置

Visual Studio:多个构建后命令?

如何在 Access2007 中使用基于 Visual Studio (2008/2010) 构建的 XML Web 服务

Visual Studio 2012 Web Publish 不复制文件