C#项目配置和环境变量

时间:2018-04-25 16:59:15

标签: asp.net-core configuration

我正在使用dot net core应用程序。 我需要使用相同的源来进行开发,分段和生产。 所以我想用项目配置来控制所有这些环境。

我尝试了以下链接中提到的配置转换, https://dzone.com/articles/config-transformations-in-aspnet-core-1

在本地,launchsettings.json中的Made更改添加了新配置文件。 基于环境变量(ASPNETCORE_ENVIRONMENT),加载appsettings文件。

在将源发布到Azure环境时,我没有选择环境变量的选项。是否可以在项目配置中映射这些环境变量(如 1.'发布'配置映射到环境'生产', 2.'调试'配置映射到环境'开发')

这可能吗?

1 个答案:

答案 0 :(得分:0)

这篇文章不一定是错的,但是因为所有人都会感到困惑。

首先,这些不是“变形”。什么都没有改变。在旧的ASP.NET中,Web.config实际上是作为发布过程的一部分而更改的。 ASP.NET Core没有发生任何类型的事情。换句话说,Visual Studio中的标准“发布”和“调试”配置对您的ASP.NET核心应用程序没有任何影响。您可以以任一方式发布,并最终得到完全相同的发布结果。

相反,ASP.NET Core基本上是在所有环境中发布的。根据为环境变量ASPNETCORE_ENVIRONMENT设置的值或基于命令行参数,决定运行哪个环境是运行时。

要为Azure中托管的应用设置环境变量,只需在Azure门户中为您的应用设置适当的设置即可。 Azure应用程序设置作为环境变量添加。换句话说,在Azure中转到应用程序的设置,并添加一个名为ASPNETCORE_ENVIRONMENT的设置,其中包含您要在其下运行的环境的值。然后,你很高兴。

此外,launchSettings.json仅适用于Visual Studio中的IIS Express。它没有做任何事情,除此之外没有任何目的。