在 T4 模板中获取 ASPNETCORE_ENVIRONMENT?

Get ASPNETCORE_ENVIRONMENT in T4 Template?

在 T4 模板中,我在项目中获取 ASPNETCORE_ENVIRONMENT 的值时遇到问题,目前设置为 "Development"。

string env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

这看起来 运行 没问题,但返回 null。

在我的理解中,T4始终是Design Time -> Developement Environment。因此我不确定你到底想做什么。

环境变量设置在 Properties/launchSettings.json 中,如果您通过 Visual Studio:[= 启动项目,将会加载该环境变量12=]

"environmentVariables": {
  "ASPNETCORE_ENVIRONMENT": "Development"
}

当然,T4 不会加载launchSettings.json中配置的变量,因为它不是应用程序本身。您可以手动解析文件,或者自己在 Windows 或 probably in MSBuild.

中设置环境变量