JetBrains Rider 2025.2 Help

构建过程

要构建当前解决方案,请按 Ctrl+F9。 或者,可以从 构建 菜单启动构建、重建或清理。 您还可以以自定义方式构建特定项目,例如,使用诊断或不包含依赖项 — 在解决方案资源管理器中选择所需的项目,然后使用上下文菜单中 高级构建操作 组下的操作。

运行构建时,MSBuild 或 XBuild 输出 显示在 构建工具窗口 Ctrl+W, A 中。

默认情况下,JetBrains Rider 使用 ReSharper Build 来优化构建过程,该工具会跟踪解决方案中的更改,仅重新构建已修改的项目和必要的依赖项。

如果您的解决方案包含非 MSBuild 项目或具有自定义构建步骤的项目,您需要在 JetBrains Rider 设置 的 构建、执行、部署 | 工具集和构建 页面中禁用 ReSharper Build Ctrl+Alt+S — 在这种情况下,JetBrains Rider 将把整个解决方案的构建委托给 MSBuild.exe

ReSharper Build 的工作原理

首次运行 ReSharper Build 时,它会根据您的 构建配置 使用多个并行进程构建所有项目。

下次构建解决方案时,JetBrains Rider 仅构建 支持的构建项 发生更改的项目。 如果更改影响了其他项目中使用的公共类型,则依赖项目也会被重建。

未受更改影响的项目将完全跳过,包括所有额外的构建逻辑。 如果您希望对跳过的项目执行 预构建和后构建事件 和/或 BeforeBuild 和 AfterBuild MSBuild 目标 ,请在 JetBrains Rider 设置 的 构建、执行、部署 | 工具集和构建 页面 Ctrl+Alt+S 上使用相应的复选框。

ReSharper Build 维护 MSBuild 任务、目标和项目的输入和输出的依赖关系图,并高效地监视文件系统的更改。 当您开始构建时,ReSharper Build 已经知道时间戳是否是最新的,而无需调用 MSBuild:如果时间戳是最新的,则会跳过该项目。

默认情况下,ReSharper Build 使用最新安装的 MSBuild 版本,并以 6 个并行进程运行。 如果需要,您可以在 JetBrains Rider 设置 的 构建、执行、部署 | 工具集和构建 页面 Ctrl+Alt+S 上明确指定 MSBuild 版本并更改进程数量。

监视和分析构建输出

构建输出和结果显示在构建工具窗口 Ctrl+W, A 中。

窗口会在您 开始构建时自动出现,并以日志视图显示实时构建输出。 您可以使用 JetBrains Rider 设置 的 构建、执行、部署 | 工具集和构建 页面 Ctrl+Alt+S 上的 将 MSBuild 日志写入输出 选项禁用或启用日志输出,并选择其详细级别。

要在构建失败时查看警告,请单击工具栏上的 警告。 如果构建成功,树视图将显示警告(如果有)。

JetBrains Rider:构建窗口

要显示或隐藏控制台输出,请单击工具栏上的 切换控制台视图

在研究树视图时,您可以通过双击或按 F4 快速在编辑器中定位构建错误和警告。 在树视图模式下,您还可以按 Alt+F1 定位错误或警告所在的文件 在另一个工具窗口中

如果在 JetBrains Rider 设置 的 构建、执行、部署 | 工具集和构建 页面 Ctrl+Alt+S 上启用了将构建结果记录到文件的功能,您可以通过单击工具栏上的 更多 并选择 打开日志文件 来打开构建日志文件。

ReSharper Build 支持的项目类型及其限制

ReSharper Build 支持大多数基于 MSBuild 的 .NET 项目类型和语言(C#、VB.NET、F#、C++)。 但是,有以下限制:

  • 非 MSBuild 项目。 ReSharper Build 无法处理非基于 MSBuild 的项目类型。 这包括网站(基于文件夹的项目,而非 MVC Web 应用程序)、WinJS 应用程序和 DNX 应用程序。 如果您的解决方案中包含这些类型的项目,整个解决方案的构建将回退到标准的 MSBuild 构建过程。

  • 自定义构建步骤。 通常,自定义构建步骤(包括 C++ 项目中的预构建和后构建步骤)相当于调用一个批处理文件,执行多个命令行,例如将文件复制到输出目录。 对于 ReSharper Build 而言,这些是一个黑盒 — 它不知道自定义构建步骤中发生了什么,因此无法跟踪输入和输出。

    但是,只要自定义目标和任务支持 增量构建 ,并提供可监视时间戳更改的输入和输出列表,自定义 MSBuild 目标和任务就可以与 ReSharper Build 一起工作。 为了在 ReSharper Build 中获得良好的结果,强烈建议将简单的自定义构建步骤转换为自定义目标。

最后修改日期: 2025年 9月 26日