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

86

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

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

3个回答

133

生成web.config转换文件有两种方法:

  1. 如果您有一个Web应用程序项目,请右键单击web.config并选择添加配置文件变换,这将基于构建配置向您的项目中添加任何缺失的配置变换(例如:如果您有生产和暂存构建配置,则都将添加一个变换)。
    • 此方法不支持网站项目,因为它们不支持多个构建配置。
  2. 在任何一种Web项目类型中,右键单击发布配置文件(.pubxml)并选择添加配置文件变换。这将仅为该配置文件添加一个新的配置文件变换。
    • 这需要VS2012 Update 2或Azure SDK 2.0 for VS2010 (我想是这样的)。
    • 在Web网站项目中,新的转换文件将不会嵌套在web.config下,因为VS不支持该行为。只需在根文件夹中查找即可。

4
在网站项目类型中,找到/App_Data/PublishProfiles/子目录下的_.pubxml_文件。当您在解决方案资源管理器中右键单击Web Site并设置发布Web Site项目时,VS2012会创建此文件。 - subsci
请参考以下说明创建配置文件。如果您手动发布应用程序,则无需在向导的末尾单击“发布”按钮。https://dev59.com/ZGYr5IYBdhLWcg3wuciw - Entree
1
如果您右键单击但未看到“添加配置转换”选项,请参考spadelives的答案。 - Tom Gerken
8
右键单击web.config文件没有显示任何“添加配置转换”命令。 - Jonathan Wood

52

在VS 2012中:

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

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


5
对我来说,在右键单击 web.config 时没有出现这样的选项。 - Jonathan Wood
3
多年以后我明白了,但如果你已经为所有现有的构建配置拥有一个Web配置转换,即如果你已经拥有Debug和Release构建配置,并且你已经有了Web.Debug.config和Web.Release.config转换,那么你就看不到这个选项了——你必须添加一个新的构建配置,因此以上答案中才会给出这样的指示!请注意,这个过程需要手动完成。 - Breeno
在将新的项目添加到已有其他配置的解决方案时遇到了这个问题。最终意识到我的项目中不存在该配置文件,仅存在于解决方案级别和旧有项目内部。因此,在添加时您可能需要确认您的项目没有默认为其他配置。 - Brandon Barkley
只有这个方法对我有效,谢谢!我正在使用Visual Studio 2017。 - Niveditha Karmegam
此项目类型不支持 Web 项目。 - Hammad Sajid

6

首先,您需要安装配置转换扩展 [Extensions -> Manage Extensions -> Online 部分],才能在右键单击您的web.{environment}.config文件时看到选项。


2
这个答案真的帮了我很多!非常感谢!我正在使用VS2019,社区版。 - Giorgos Betsos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接