【问题标题】:Setting Environment When Publishing An MVC 6 Web App发布 MVC 6 Web 应用程序时设置环境
【发布时间】:2016-06-07 00:28:34
【问题描述】:

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

当我查看该网站时,我可以看到它正在暂存或生产环境中运行,因为我收到了缩小文件(在视图中指定)。

但是,我很难找到任何文档来说明在发布时可以在何处或如何指定此环境。即使我现在必须直接编辑此设置也没关系,但我似乎找不到它。

我在发布后检查过的文件(这还包括源文件,因为我现在刚刚通过 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/Properties/launchSettings.json

【问题讨论】:

  • 通常,我认为此设置是在进程的外壳上进行的,或者在用户或机器级别进行。您可以在 Windows (computerhope.com/issues/ch000549.htm) 中检查环境变量。它应该在那里。否则,请检查也可能包含它的启动脚本。如果您在 Azure 上部署,它很可能已经在部署时为您处理好了。
  • 让我走上正轨。下面回答了我为遇到这个问题的其他人所做的事情:)

标签: asp.net-core-mvc


【解决方案1】:

嗯,这有点有趣。但这是 Windows 机器的答案。

该变量是系统范围的环境变量,如果您在同一台机器上有两种不同的配置(例如,我们在同一台机器上为不同的团队有 Test1、Test2、Test3 等),我不确定它会如何运行,虽然我想如果你达到那个大小,你可能会使用像 Chef/Puppet 这样的东西来存储配置。

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

  1. 右键单击“我的电脑”、“这台电脑”、“我的电脑”或您所使用的任何窗口的变体。选择属性。
  2. 点击高级系统设置(在 Win10 上,它位于左侧)。
  3. 单击下一个窗口底部的环境变量。
  4. 单击“系统变量”上的“新建...”。然后使用您指定的环境输入“ASPNET_ENV”,如下所示......

  1. 现在重置 IIS,您应该一切顺利。

我看到其他人建议“Hosting:Environment”是新的变量名,但这对我不起作用,也许对你有用!我可以看到在 launchSettings.json 中它使用了托管变量,但是当我把它放在机器范围内时它对我不起作用。我想这就是摆弄候选发布者的乐趣! :)

还有一点需要注意。从 Visual Studio 启动时,它运行的环境保存在 /Properties/launchSettings.json

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

您可以在此处编辑 Hosting:Environment 变量以在不同的环境中自动启动。

但是,当您从常规 IIS 运行时,默认值始终是“生产”(看不到会出错.....)。

【讨论】:

  • 如何在 IIS 中而不是全局范围内按站点执行此操作?
  • 我看到的每个解决方案都说“使用 Docker”,这对于我们这些可能在一个盒子上拥有多个 QA“站点”的人来说真的很糟糕,因为他们做的事情并不多。不幸的是,这是我能告诉你的最好的了。我很久以前(大约一年前)写了这个答案,所以事情可能已经改变了。
  • Docker 不是一个选项,我想在这里开始讨论:github.com/aspnet/Home/issues/2019
  • 使用文档中的 ASPNETCORE_ENVIRONMENT:docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2015-03-27
  • 1970-01-01
  • 2019-04-21
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多