C# 传递用于自托管的托管环境
我正在尝试通过以下方式将ASP.NET核心(.NET 4.6.1)应用程序作为自宿主运行: 我添加了一个命令:C# 传递用于自托管的托管环境,c#,asp.net-core,C#,Asp.net Core,我正在尝试通过以下方式将ASP.NET核心(.NET 4.6.1)应用程序作为自宿主运行: 我添加了一个命令: "commands": { "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000" }, 以及project.json中必要的依赖项 当我通过VisualStudio启动应用程序时,它工作正常 src\P
"commands": {
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
},
以及project.json中必要的依赖项
当我通过VisualStudio启动应用程序时,它工作正常
src\ProjectName\bin\Release\net461\win7-x64\ProjectName.exe
ProjectName.exe作为web服务器启动,主机环境为:开发
但是当我手动运行它时,ProjectName.exe
与托管环境:Production
一起运行,它不能正常工作。
首先,我想找到一种方法,使用开发环境手动运行应用程序
在VS中,我有以下选项:
启动应用程序时,Visual Studio将自动为您设置环境变量(基于属性文件夹中launchSettings.json的设置)
从命令行或双击运行时,需要使用setx ASPNETCORE\u环境“Development”
(命令行)或$Env:ASPNETCORE\u environment=“Development”
(Powershell)自行设置环境变量。运行之前是否设置了环境变量?setx ASPNETCORE\u环境“开发”
(命令行)或$Env:ASPNETCORE_ENVIRONMENT=“开发”
(Powershell)应该可以工作。当你在VS之外运行exe时,你需要自己为VS设置变量-是的,但我不知道如何在手动运行的情况下使用它。可能有一些命令参数,请参见上面的我的命令,现在无法测试,不能在我的开发机器上运行。如果你发布它,我会接受它作为答案