如何在Azure上为不同的环境部署不同的应用程序设置

时间:2018-01-24 08:45:17

标签: c# asp.net-mvc appsettings web.config-transform

我想在visual studio 2015中使用Microsoft Azure在不同环境中运行不同的应用设置

用于本地环境:

<add key="EnvironmentPath" value="http://local:12345" />
质量保证

<add key="EnvironmentPath" value="http://qa.abc.com" />

用于分期:

 <add key="EnvironmentPath" value="http://staging.abc.com" />

它会在每个环境中自动加载其特定值。 比如HTML模板

<a href="appsettings["EnvironmentPath"]"></a>

任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以转换web.config,如果您手动发布,则需要在发布之前更改解决方案配置

基于Microsoft文档:

  
      
  1. 如果要为不存在的自定义生成配置创建转换文件,请创建生成配置   首先使用Configuration Manager。
  2.         

    您可以通过从Build中选择Configuration Manager来打开它   菜单。有关详细信息,请参阅Configuration Manager对话框。

         
        
    1. 在Solution Explorer中,展开应用程序Web.config文件。
    2.         

      如果已创建任何转换文件,则为Web.config文件   在解决方案资源管理器中显示一个符号,指示它可以   展开,扩展时显示转换文件   Web.config文件。

           

      转换所针对的构建配置由a表示   文件名中的字符串。例如,Debug的转换文件   构建配置名为Web.Debug.config。

           
          
      1. 如果您要为其指定设置的构建配置不存在转换文件,请在解决方案资源管理器中右键单击   单击Web.config文件,然后单击添加配置转换。

      2.   
      3. 打开要使用的构建配置的转换文件。

      4.   
      5. 编辑转换文件以指定在使用该构建进行部署时应对已部署的Web.config文件所做的更改   配置。

      6.         

        默认转换文件包含显示如何编码的注释   一些常见的变换。

             

        以下示例显示如何使用匹配定位器和   SetAttributes变换属性。匹配定位器属性   将connectionStrings部分中的add元素标识为   要改变的要素。 SetAttributes变换属性指定   应该将此元素的connectionString属性更改为   &#34; ReleaseSQLServer&#34;

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
    <add name="MyDB" 
      connectionString="ReleaseSQLServer" 
      xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>
</configuration>
  
      
  1. 保存并关闭转换文件。
  2.         

    使用所选构建部署Web应用程序时   配置并使用部署包或单击   发布,Web.config文件根据你的转换   规格。