【问题标题】:ASP.NET 5 not running in development modeASP.NET 5 未在开发模式下运行
【发布时间】:2015-10-27 16:06:52
【问题描述】:

我已将我的 ASP.NET 5 项目更新到 beta 8,我们现在应该使用以下 web 命令

"commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
},

现在我已经用环境变量更新了我的项目。

这也更新了我的launchSettings.json文件,所以

{
  "profiles": {
    "web": {
      "commandName": "web",
      "environmentVariables": {
        "ASPNET_ENV": "Development"
      }
    }
  }
}

但由于某种原因,每次我运行命令dnx web 时,它都会说托管环境是生产环境。为什么没有在开发模式下启动?

【问题讨论】:

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


    【解决方案1】:

    launchSettings.json 中的设置仅供 VS 使用。如果从控制台运行,则必须手动设置该环境变量。

    CMD:

    set ASPNET_ENV=Development
    dnx web
    

    PS:

    $env:ASPNET_ENV=Development
    dnx web
    

    【讨论】:

    • 这也有效:dnx web ASPNET_ENV=Development
    • 设置 ASPNET_ENV=开发不起作用。 dnx web ASPNET_DEV=开发确实有效。
    • 在构建过程中如何设置这个环境变量?我猜它需要在部署到这些环境时更新为“暂存”和“生产”
    【解决方案2】:

    添加到@Victor Hurdugaci 答案,您还可以通过在命令行上传递所需的变量来避免“弄乱”当前环境。

    project.json 文件中,假设您有一个专用于开发环境的web-dev 命令:

    "commands": {
      "web-dev": "Microsoft.AspNet.Server.Kestrel 
        --ASPNET_ENV Development --Hosting:Environment Development 
        --config hosting.Development.json",
    },
    

    您可以在其中查看ASPNET_ENVHosting:Environment 的设置方式以及调用特定的hosting.json 配置。
    注意: 命令分为几行,仅用于可读性,在实际粘贴到 JSON 文件之前再次加入。

    【讨论】:

      【解决方案3】:

      命令:set ASPNET_ENV=Development 现在已过时,您可以使用 CMD:

      set ASPNETCORE_ENVIRONMENT=Development
      

      【讨论】:

        猜你喜欢
        • 2021-07-06
        • 1970-01-01
        • 2021-06-07
        • 1970-01-01
        • 1970-01-01
        • 2021-09-02
        • 2017-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多