通过project.json文件

时间:2016-07-13 17:11:07

标签: asp.net-core asp.net-core-mvc

在dotnet RC1中,我能够在命令中设置我的环境变量值 project.json文件的一部分。 我使用这些值在Startup.cs中设置我的appsettings.ENVIRONMENTNAME.json值以定位不同的环境

RC2之前的project.json文件

"commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Development",
    "uat": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV UAT",
    "dev": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV DEV"
  }

然后很简单地将命令名称作为iis-command name参数传递给dnu发布,如下所示在构建服务器上

"C:\Users\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\dnu.cmd" publish --out "C:\PublishedCode\" --iis-command "dev" --no-source --configuration DEV --wwwroot "wwwroot" --wwwroot-out "wwwroot"  --runtime dnx-clr-win-x86.1.0.0-rc1-update1

使用dotnet core 1.0,官方文档说要使用profiles,但它没有解释如何从命令行指定配置文件,文档仍在RC1版本here上。

如何设置配置,以便我可以在project.json文件中定位不同的环境 然后能够将这些值与dotnet cli一起使用。 如果需要,我可以设置ASPNETCORE_ENVIRONMENT powershell但我宁愿通过像RC1这样的配置文件来实现它,我认为它更干净,而不是通过构建服务器设置环境变量。

 dotnet publish --WHAT DO I DO NOW

1 个答案:

答案 0 :(得分:0)

这种信息不再存储在project.json中。 project.json仅描述编译和发布,而不是启动网站。

您可以在web.config中为AspNetCoreModule添加环境变量,但仅适用于一个配置文件:https://docs.asp.net/en/latest/hosting/aspnet-core-module.html#child-elements

这些变量应该在部署环境中设置,而不是内置到应用程序中。