dotnet core 不包括在launchSettings.json 中构建的测试项目

Posted

技术标签:

【中文标题】dotnet core 不包括在launchSettings.json 中构建的测试项目【英文标题】:dotnet core excluding tests project from building in launchSettings.json 【发布时间】:2019-01-18 21:49:10 【问题描述】:

在 JetBrains Rider 中,我们可以手动创建配置文件来运行 .NET Core Web 应用程序,也可以使用 launchSettings.json 文件(如果项目中包含该文件)。但是,当我手动创建配置文件时,它不会构建测试项目,但是当我使用 launchSettings.json 时,它会尝试构建测试项目(它可能只是在没有任何过滤器的情况下运行 dotnet build)。我想知道我需要添加什么到我的launchSettings.json 以排除构建测试项目。谢谢


  "iisSettings": 
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": 
      "applicationUrl": "http://localhost:20169",
      "sslPort": 44329
    
  ,
  "profiles": 
    "Web": 
      "commandName": "Project",
      "launchBrowser": false,
      "applicationUrl": "http://localhost:5000",
      "environmentVariables": 
        "ASPNETCORE_ENVIRONMENT": "Localhost"
      
    
  
 

【问题讨论】:

启动设置决定了应用程序的启动方式。它不影响构建什么项目。因此,启动设置中没有可能影响构建行为的配置。如果 Rider 正在查看那里的任何东西,那么它的行为在那里非常不标准。 @poke 在 Rider/VS/可能是其他 IDE 中有两种不同的构建模式。当您只是构建解决方案时,这是一回事,而当您的 IDE 在运行之前构建项目 - 这是另一回事。 IDE 在您运行项目时尝试构建尽可能少的项目(这意味着它不应该构建不相关的项目);这就是作者要问的。 【参考方案1】:

不幸的是,这只是 Rider 中的一个错误:https://youtrack.jetbrains.com/issue/RIDER-23780

它应该像您描述的那样工作(例如,如果您单击“运行”按钮,它应该只构建程序运行所需的项目),但它不适用于启动设置。

解决方法是创建“.NET 项目”运行配置而不是“启动设置”配置,或者手动从构建中排除项目。

【讨论】:

以上是关于dotnet core 不包括在launchSettings.json 中构建的测试项目的主要内容,如果未能解决你的问题,请参考以下文章

发布后运行 dotnet core 控制台应用程序

ASP.NET Core项目解读之launchSettings.json

ASP.NET Core项目解读之launchSettings.json

10.ASP.NET Core launchSettings.json file

如何从 Asp.NET Core 3.1 启动类访问 launchSettings.json 中的 `applicationUrl` 属性?

温故知新,.Net Core遇见WinForms客户端窗体框架,在DotNet Core大一统基础上老树发芽...