【问题标题】:Configuring .NET Core web application launch settings without Visual Studio 2015在没有 Visual Studio 2015 的情况下配置 .NET Core Web 应用程序启动设置
【发布时间】:2016-06-08 13:26:08
【问题描述】:

我正在关注 .NET Core RC2 文档,并且大部分信息都是针对 Visual Studio 2015 编写的。但是,他们还发布了 Visual Studio Code,我也可以从命令行运行应用程序。

当我开发一个没有 VS2015 的应用程序时,我无法

  1. launchSettings.json 连接到我的应用程序
  2. 更改启动设置,例如Hosting EnvironmentlaunchUrl或默认port 5000

如果我在没有 Visual Studio 的情况下进行开发,如何设置这些属性?

【问题讨论】:

    标签: asp.net-core visual-studio-code .net-core .net-core-rc2


    【解决方案1】:

    完全可以在没有 Visual Studio 的情况下构建 .NET Core 应用程序。 Visual Studio Code 或 dotnet CLI 可以处理您需要做的所有事情,只是有点不同。

    据我所知,launchSettings.json 是特定于 Visual Studio 的。来自documentation

    此文件包含特定于每个配置文件的设置,Visual Studio 配置为用于启动应用程序,包括应使用的任何环境变量。

    您需要一种不同的方式来设置所需的选项:

    绑定地址和端口

    这可以在您在Program.cs 中引导您的应用程序时进行配置:

    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseUrls("http://localhost:8080") // name and port to listen on
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseStartup<Startup>()
            .Build();
    
        host.Run();
    }
    

    托管环境

    来自同一个docs

    ASP.NET Core 引用了一个特定的环境变量 ASPNETCORE_ENVIRONMENT 来描述应用程序当前运行的环境。这个变量可以设置为您喜欢的任何值,但按照约定使用三个值:DevelopmentStagingProduction

    只需将适合您平台的环境变量设置为“开发”、“暂存”、“生产”等。ASP.NET Core 将读取该值并且所有IHostingEnvironment 逻辑都将起作用。

    在 Windows 中,您可以在GUI 或命令行中设置环境变量:

    setx ASPNETCORE_ENVIRONMENT "Development"
    

    启动网址

    Visual Studio 会在您运行应用程序时自动为您打开浏览器,以提供帮助。如果您使用的是dotnet,则必须手动执行此操作。

    我还没有尝试过,但这个 Visual Studio Code 插件可能会为您提供该功能:Visual Studio Chrome Debugger

    【讨论】:

    • Hosting Environment,实际上我之前已经通过这条线,但是无法更改,因为不确定在没有 VS2015 的情况下从哪里更改此设置,好像您看到文档显示 VS2015项目的属性窗口。
    • @AviKenjale 这是一个普通的系统环境变量。我编辑了答案以包含说明。
    • 是的。知道了。同时,我也必须从命令行将这些变量设置为set ASPNETCORE_ENVIRONMENT=Development,并且此更改不是全局更改,此更改的范围仅限于命令行的当前会话。
    • @AviKenjale 这就是set 所做的。如果要永久设置该值,请使用 setx
    • @NateBarbettini,是否有一种侵入性较小的方法来处理不涉及更改 Program.cs 的绑定地址和端口?在运行时完成的事情...... Visual Studio 是如何做到的?
    猜你喜欢
    • 2016-10-04
    • 1970-01-01
    • 2010-12-16
    • 2020-01-15
    • 2010-10-23
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 2017-02-16
    相关资源
    最近更新 更多