【问题标题】:.NET 5.0: Build a project in a multi-project solution.NET 5.0:在多项目解决方案中构建项目
【发布时间】:2021-05-25 23:31:40
【问题描述】:

我的解决方案包含多个项目(例如,.NET 控制台应用程序、ASP.NET Web 应用程序、Python 脚本、单元测试等)。有时,我有兴趣在不编译其他项目的情况下构建特定项目。例如,构建控制台应用程序而不编译 Web 应用程序。

我尝试了以下方法:

dotnet build .\console_app.csproj

但是,这会构建解决方案中的所有项目。我错过了什么吗?

【问题讨论】:

  • 它不应该构建所有东西——它应该只构建那个项目和它依赖的其他项目(传递性地)。例如,如果有另一个 console_app 不依赖(甚至是可传递的)当前已损坏的项目,那么构建 console_app.csproj 不应该因此而失败。
  • 如果你认为你有一个反例,提供一个可重复的例子会很有帮助。
  • @JonSkeet 谢谢。我的控制台应用程序依赖于解决方案中的其他 .NET 项目,因此所有项目都是构建的。我相信我这边的依赖架构不好。

标签: c# .net-core build .net-5


【解决方案1】:

选项 1:Temporarily 禁用这些项目

您可以暂时从构建配置中删除其他人,请参阅MSDN

  1. 暂时从活动解决方案中删除项目 配置在菜单栏,选择Build > Configuration Manager

  2. Project contexts table中,找到你想要的项目 从构建中排除。

  3. 在项目的Build column 中,清除复选框。

  4. 选择Close button,然后重建解决方案。您可能必须退出并重新启动 VS。


选项 2:创建新的构建配置

我喜欢/推荐这个,因为您不会丢失旧版本,只需单击按钮 its very easy to SWITCH between the two Build/Solution Configurations

  1. 创建排除项目的解决方案配置 在菜单栏上,选择Build > Configuration Manager

  2. Active solution configuration list 中,选择<New>

  3. Name box 中,输入解决方案配置的名称。

  4. 在 Copy settings from 列表中,选择新配置要基于的解决方案配置(例如,Debug),然后选择 OK 按钮。

  5. Configuration Manager 对话框中,清除要排除的项目的“构建”列中的复选框,然后选择“关闭”按钮。

  6. Standard toolbar 上,验证新的解决方案配置是解决方案配置框中的活动配置。

  7. 在菜单栏上,选择Build > Rebuild Solution

【讨论】:

    猜你喜欢
    • 2011-06-07
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多