如何在web.config转换过程中添加文件?


77

我正在使用Visual Studio 2012开发一个网站。web.config当前在其转换中包含以下文件:-web.Debug.config-web.Release.config

我最近在我的项目中添加了新的构建配置(称为“暂存”)。如何创建“ web.Staging.config”转换文件?

Answers:


126

在VS内生成web.config转换文件的方式有两种:

  1. 如果您有一个Web应用程序项目,请右键单击web.config并选择Add Config Transform。 这将基于构建配置添加项目中缺少的所有配置转换(即,如果您具有Production和Staging构建配置,则两者都将添加一个转换)。
    • 网站项目不支持此方法,因为它们不支持多个构建配置。
  2. 在任一Web项目类型中,右键单击发布配置文件(.pubxml),然后选择添加配置转换。这只会为该配置文件添加新的配置转换。
    • 这需要VS2012 Update 2或VS2010的Azure SDK 2.0(我认为)。
    • 在网站项目中,新转换文件不会嵌套在web.config下,因为VS不支持该行为。只需在根文件夹中查找即可。

4
在“网站”项目类型中,在/ App_Data / PublishProfiles /子目录下找到.pubxml。当您设置发布网站项目(通过在解决方案资源管理器中右键单击网站)时,VS2012会创建此文件。
subsci 2013年

请参阅这些说明以创建配置文件。如果您要手动发布应用程序,则无需单击向导末尾的“发布”按钮。 stackoverflow.com/questions/13441692/...
马盖先

1
如果您单击鼠标右键但未看到“添加配置转换”选项,请参阅spadelives的答案
Tom Gerken 2015年

7
右键单击web.config不会显示任何“添加配置转换”命令。
乔纳森·伍德

41

在VS 2012中:

  1. 转到构建->配置管理器
  2. 单击活动解决方案配置,然后选择“新建”。
  3. 输入新配置的名称,然后单击“保存”。
  4. 右键单击Web.config文件,然后选择“添加配置转换”。

您的新转换文件将自动创建。


3
右键单击我的web.config时,不会出现此类选项。
乔纳森·伍德

3
几年后,我知道了,但是如果您已经对所有现有的Build配置进行了Web配置转换,即没有调试和Realease生成配置,并且已经有了Web.Debug.config和Web ,则不会看到此选项。.Release.config转换后,您将看不到该选项-您将不得不添加新的构建配置,因此上面答案中的说明!
Breeno

在将新项目添加到具有其他配置的解决方案时遇到此问题。最终意识到配置文件在我的项目中不存在,仅在解决方案级别和旧的现有项目中不存在。因此,添加后,您可能需要仔细检查您的项目没有默认使用其他配置。
布兰登·巴克利

唯一对我有用的东西,谢谢!我使用Visual Studio 2017
Niveditha Karmegam

5

您需要首先安装Configure Transform扩展名[扩展名->管理扩展名->在线部分],才能在右键单击web.{environment}.config文件时查看该选项。


2
这个答案实际上对我有帮助!非常感谢!我正在使用VS2019,Community Ed。
Giorgos Betsos
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.