在自定义环境中将ASP 5应用程序发布到Azure

时间:2016-02-19 21:08:48

标签: azure asp.net-core azure-web-sites azure-web-app-service asp.net-core-1.0

在我的ASP.NET 5(核心,vNext)应用程序中,我有:

  • appsettings.test.json
  • appsettings.development.json
  • appsettings.staging.json
  • appsettings.production.json
  • appsetings.cloud.json

其中每个都包含不同的连接字符串(针对不同的环境)。

问题

当我将应用程序发布到Azure时,它会自动使用Production环境。

我想在发布到Azure时使用Cloud环境。

注意

我正在使用Azure的一个月免费试用版,它不允许我创建部署插槽(我需要升级)。

问题

那么,我是否可以在我的自定义环境(Cloud)中默认发布到Azure?

2 个答案:

答案 0 :(得分:2)

  

那么,我是否可以在我的自定义环境(云)中默认发布到Azure?

是的。

最简单的方法是Azure portal。转到MyWebApp>设置>应用程序设置>应用设置。将ASPNET_ENV变量设置为Cloud

ASPNET_ENV App settings

我们可以使用简单的ASP.NET Core应用程序来测试它。

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json");

        builder.Build();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.Run(async (context) =>
        {
            await context.Response
                .WriteAsync("Hello from " + env.EnvironmentName);
        });
    }
}

它按预期工作。

Hello from Cloud

答案 1 :(得分:0)

尝试在命令行中设置onCreate()。与ASPNET_ENV一样,您也可以通过右键单击项目并选择属性来更改VS中的environemnt,然后单击debug。在Environment vars中,您可以编辑主机环境。您还可以查看this issue了解更改环境的更多方法。