【问题标题】:run .net core application in development from the command line从命令行在开发中运行 .net 核心应用程序
【发布时间】:2017-04-14 21:33:39
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

     dotnet run --environment "Development"
    

    但这只有在您修改主机构建以使用带有命令行参数的配置作为配置源之后才有效。

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

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

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

    【讨论】:

    • 感谢您的回复,我喜欢这个解决方案,但我无法让它工作。我添加了 Microsoft.Extensions.Configuration.CommandLine 参考:" " 但 AddCommandLine 不是有效方法。有什么想法吗?
    • @MatthewJamesDavis 不要忘记进行包恢复并添加using Microsoft.Extensions.Configuration;
    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多