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

Mat*_*vis 1 asp.net-core-mvc asp.net-core

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

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

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

Set*_*Set 5

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

 dotnet run --environment "Development"
Run Code Online (Sandbox Code Playgroud)

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

  • 添加依赖Microsoft.Extensions.Configuration.CommandLine
  • 添加到 main加入方法基于参数的配置创建AddCommandLine扩展方法为ConfigurationBuilder:

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

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