在构建 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 应用程序?
无法在 Visual Studio 2019 上为 VB.NET Web 应用程序创建新的构建配置
如何在 Access2007 中使用基于 Visual Studio (2008/2010) 构建的 XML Web 服务