我正在使用Mac上的Visual Studio代码开发ASP.NET 5 Web API应用程序.我手动修改了我的Properties/launchSettings.json文件,Staging使用ASPNET_ENV环境变量为所有配置文件设置环境:
但是,当我dnx web在Mac终端上运行启动应用程序时,我仍然得到Production环境:

launchSettings.json如果我在Mac上使用Visual Studio Code,我可以用来指定环境变量(以及环境类型)吗?或者它是否特定于完整的Visual Studio?
ASP.NET 5文档建议是launchSettings.json可以用于注入环境变量.然而,这个SO讨论建议通过命令传递它们.
我正在尝试向IIS发布一个.NET Core ASP.NET网站,我将其从RC2升级到RTM.
作为一个完整性检查,我成功地从Visual Studio 2015发布了模板/示例"ASP.NET核心Web应用程序(.NET Framework)"应用程序.
但出于某种原因,在发布RTM升级的应用程序时,我收到HTTP错误502.3 - 错误网关指定的CGI应用程序遇到错误,服务器终止了该进程.
该站点正在从Visual Studio运行IIS Express.
我该怎么调试呢?有人有主意吗?
web.config中
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath=".\MyApp.exe" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
project.json
{
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.AspNetCore.Diagnostics.Elm": "0.1.0",
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
"Microsoft.AspNetCore.Authorization": "1.0.0",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Hosting": "1.0.0",
"Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0",
"Microsoft.AspNetCore.Http.Extensions": "1.0.0",
"Microsoft.AspNetCore.Localization": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Routing": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.Session": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Caching.SqlServer": "1.0.0", …Run Code Online (Sandbox Code Playgroud) 在.NET Core控制台应用程序中,如果我添加以下行...
IHostingEnvironment env = new HostingEnvironment();
Console.WriteLine(env.EnvironmentName);
Run Code Online (Sandbox Code Playgroud)
我得到了这个结果......
生产
但是当我在同一台机器上的ASP.NET Core应用程序中执行相同的操作时......
public Startup(IHostingEnvironment env)
{
Debug.WriteLine(env.EnvironmentName);
}
Run Code Online (Sandbox Code Playgroud)
我得到了这个结果......
发展
作为额外的一点,可以将EnvironmentName配置为使用解决方案中的Debug和Release配置吗?
最终目标是能够在使用Debug构建时连接到本地SQL数据库,并在使用Release构建时连接到Azure数据库.
development-environment production-environment visual-studio .net-core asp.net-core
我遵循.NET Core RC2文档,大部分信息都是考虑Visual Studio 2015编写的.但是,他们还发布了Visual Studio Code,我也可以从命令行运行应用程序.
当我开发一个我没有VS2015的应用程序时,我无法做到
launchSettings.json到我的应用程序Hosting Environment,launchUrl或默认port 5000,等等.如果我在没有Visual Studio的情况下开发,如何设置这些属性?
通过(ASP).NET Core的文档,我遇到了多个环境变量名称,这些名称似乎做了几乎相同或至少相似的事情.
但是,我很难找到有关两者之间确切区别的详细信息:
这是特定于服务器的(例如IIS与Kestrel),还是与其他内容有关?