从命令行运行.net核心应用程序

时间:2017-04-14 13:01:04

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

我知道我可以在Visual Studio或Visual Studio Code中配置一些设置,以便在开发模式下启动我的asp .net核心应用程序。但是我对所有构建工具都有过糟糕的体验,到目前为止,从命令行运行是唯一一个为我工作的人。

我在命令行中遇到的一个大问题是让它在开发模式下运行。如果我理解,这只能通过在set ASPNETCORE_ENVIRONMENT=Development之前键入dotnet watch run或通过设置系统范围的环境变量来完成。必须采用另一种方式,比如通过文件或其他方式。

如何从命令行在开发模式下运行,所以我可以将其包含在Aurelia项目的package.json中?

1 个答案:

答案 0 :(得分:5)

您可以使用--environment参数与dotnet run来指定托管环境:

 dotnet run --environment "Development"

但是只有在修改主机构建以使用命令行参数配置作为配置源之后,这才会起作用。

  • Microsoft.Extensions.Configuration.CommandLine
  • 添加依赖项
  • 通过为main添加AddCommandLine扩展方法,根据参数添加ConfigurationBuilder方法创建配置:

    var config = new ConfigurationBuilder()  
       .AddCommandLine(args)
       .Build();
    
  • 在主机设置期间通过添加.UseConfiguration(config)步骤来使用配置。

    var host = new WebHostBuilder()  
       .UseConfiguration(config)
       .UseKestrel()
       .UseContentRoot(Directory.GetCurrentDirectory())
       .UseIISIntegration()
       .UseStartup<Startup>()
       .Build();