发布MVC 6 Web App时设置环境

时间:2016-06-07 00:28:34

标签: asp.net-core-mvc

我正在测试Dot Net Core的开发,我正在部署我的应用程序。现在我已经完成了一个简单的文件发布到我的本地PC,然后将文件复制到远程服务器上。

当我查看网站时,我可以看到它在Staging或Production环境中运行,因为我提供了缩小文件(在视图中指定)。

但是,我很难找到任何文档来说明在发布时可以指定此环境的位置或方式。即使我现在必须直接编辑此设置,这很好,但我似乎无法找到它。

我在发布后检查过的文件(还包括源文件,因为我刚刚通过VS2015发布了解DNU命令行)。

  • 的wwwroot / web.config中
  • 为approot / web.cmd
  • 为approot / global.json
  • 为approot / SRC / myproject的/ project.json
  • 为approot / SRC / myproject的/ hosting.json
  • 为approot / SRC / myproject的/ project.json
  • 为approot / SRC / myproject的/属性/ launchSettings.json

1 个答案:

答案 0 :(得分:2)

这很有趣。但这是Windows机器的答案。

变量是系统范围的环境变量,如果你在同一台机器上有两种不同的配置,我不知道它会如何飞行(例如我们为不同的团队提供了Test1,Test2,Test3等等)所有在同一台机器上),虽然我想如果你达到那个尺寸,你可能会使用像Chef / Puppet这样的东西来存储配置。

如何在系统范围内设置变量。

  1. 右键单击"我的电脑","此电脑","我的电脑"或者您所使用的任何窗口的变体。选择属性。
  2. 点击高级系统设置(在Win10上,这是在左侧)。
  3. 点击下一个窗口底部的环境变量。
  4. 点击"新..." on" System Variables"。然后输入" ASPNET_ENV"与您指定的环境如此....
  5. enter image description here

    1. 现在重置IIS,你应该好好去。
    2. 我见过其他人建议"托管:环境"是新的变量名称,但这对我不起作用,也许它对你有用!我可以在launchSettings.json中看到它使用托管变量,但是当我把它放在机器上时它对我没用。我想这是摆弄候选人的乐趣! :)

      另一件需要注意的事情。从Visual Studio启动时,它运行的环境保存在/Properties/launchSettings.json

      "IIS Express": {
        "commandName": "IISExpress",
        "launchBrowser": true,
        "environmentVariables": {
          "Hosting:Environment": "Development"
        }
      }
      

      您可以在此处编辑Hosting:Environment变量,以便在其他环境中自动启动。

      但是,当您从常规IIS运行时,默认值始终为"生产" (看不出错了.....)。