【问题标题】:Pass hosting environment for self-hosting通过托管环境进行自托管
【发布时间】:2016-08-29 10:18:36
【问题描述】:

我正在尝试通过 weblistener 将 ASP.NET Core (.NET 4.6.1) 应用程序作为自托管运行

我添加了一条命令:

"commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
},

以及project.json中的必要依赖项

当我通过 Visual Studio 启动我的应用程序时,它工作正常

src\ProjectName\bin\Release\net461\win7-x64\ProjectName.exe

ProjectName.exe 以 Hosting environment: Development 开头的 Web 服务器

但是当我手动运行它时,ProjectName.exe 与 Hosting environment: Production 一起运行,但它不能正常工作。 首先,我想找到使用Development environment手动运行应用程序的方法

在 VS 中我有这个选项:

【问题讨论】:

  • 运行前设置环境变量了吗?
  • setx ASPNETCORE_ENVIRONMENT "Development"(命令行)或$Env:ASPNETCORE_ENVIRONMENT = "Development"(Powershell)应该可以工作。当你在 VS 之外运行 exe 时,你需要自己设置变量
  • 对于VS - 是的,但我不知道在手动运行的情况下如何使用它。可能有一些命令参数,
  • 从上面查看我的命令,现在无法测试,不在我的开发机器上
  • 是的,谢谢。如果您发布它,我会接受它作为答案

标签: c# asp.net-core


【解决方案1】:

当您启动应用程序时,Visual Studio 会自动为您设置环境变量(基于属性文件夹中的 launchSettings.json 中的设置)。

当您从命令行运行或双击时,您需要使用setx ASPNETCORE_ENVIRONMENT "Development"(命令行)或$Env:ASPNETCORE_ENVIRONMENT = "Development"(Powershell)自行设置环境变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2015-02-17
    • 2016-03-21
    • 2017-04-29
    • 2020-11-25
    相关资源
    最近更新 更多