C# Visual Studio 2010中的多个发布web.configs

C# Visual Studio 2010中的多个发布web.configs,c#,asp.net,visual-studio-2010,web-services,web-config,C#,Asp.net,Visual Studio 2010,Web Services,Web Config,在我的设置中,我有两个字符串设置和一个连接字符串。这些在web.config中显示并可更改。 除此之外,不是在设置中,而是在web.config中,我有我的实体框架连接字符串。 我还有4种不同的发布配置文件(我的网站发布地址) 但是:它们都运行相同的配置文件。所以我必须在每次发布之前手动更改它。如果我忘了/弄错了,整个网站都会停止工作 有没有办法链接发布特定的web.config文件。以便每个发布配置文件生成正确的版本及其正确的值/连接字符串 我有过accrosstransforms和pubxm

在我的设置中,我有两个字符串设置和一个连接字符串。这些在web.config中显示并可更改。 除此之外,不是在设置中,而是在web.config中,我有我的实体框架连接字符串。

我还有4种不同的发布配置文件(我的网站发布地址)

但是:它们都运行相同的配置文件。所以我必须在每次发布之前手动更改它。如果我忘了/弄错了,整个网站都会停止工作

有没有办法链接发布特定的web.config文件。以便每个发布配置文件生成正确的版本及其正确的值/连接字符串

我有过accrosstransforms和pubxml,但似乎没有任何东西是有意义的或有效的,甚至与VS2010不兼容


如果有人能联系或解释我为实现这一目标应该走的道路,我将非常高兴。我已经花了好几天的时间尝试了。

您可以在configuration Manager中创建一个新配置,然后为该配置文件创建相应的配置

部署时,如果您将配置更改为正确的配置,它将选择适当的配置


我想再看一看web配置转换——它正是为此而构建的,在VS2010中得到了最明确的支持。或者,我使用了一个部署设置,其中有一个自定义实用程序,它通过作为构建任务运行来完成web config transforms所做的工作。使用这两种方法,我仍然建议使用web配置转换,因为它有很好的文档记录。

VS2010中通过Azure SDK捆绑包提供了.pubxml和面向概要文件的转换。以下是如何做到这一点:

  • 已安装VS2010。我正在使用VS2010 Ultimate RTM(必须安装一台新机器)
  • 安装Azure SDK。我通过Web平台安装程序来完成这项工作;看起来VS2010的最后一个Azure SDK是2.1。这包括SP1(如果您还没有)、进一步的修补程序、支持.pubxml的带外工具更新,以及一系列其他内容。如果您只需要VS组件,我想您可以在2013年7月以下找到它们(版本2.1)
  • 此时,您可以创建发布配置文件,正如许多较新的博客文章所示:

  • 并为它们添加变换:

  • 并预览每个概要文件的转换的转换效果(这也考虑了调试/发布的转换):


  • 我仍在等待它安装这个插件:|但正在阅读关于调试版本和发布版本之间差异的信息。。我正在尝试为不同的发布配置文件做这件事,它们都是发布版本。这是否仍然有效?@Mcloving是的,您可以创建任意数量的配置来生成“发布”代码。看看Configuration Manager,您应该明白我的意思。配置文件只需命名为与您正在使用的配置相同的名称,即可按配置工作。我正在为每个发布配置文件创建和分配配置。所以现在有了“调试”、“发布”、“设置1”、“设置2”、“设置3”配置。使用
    web.Setup1.config
    中的转换。我想我是按照你的建议做的。如果我知道如何删除这个pubxml东西就好了:p