You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在dotnet build时排除解决方案中的VSIX项目?

让VSIX项目在dotnet build时自动跳过构建的配置方案

你可以直接在VSIX项目的.csproj文件中添加条件配置,无需拆分解决方案或额外CLI参数,就能实现仅在Visual Studio/传统MSBuild环境下构建该项目,而在dotnet build时自动跳过。

方法1:通过DisableProjectBuild属性控制(推荐)

在VSIX项目的.csproj文件里,添加如下属性组:

<PropertyGroup>
  <!-- 当使用dotnet CLI构建时,禁用当前项目的构建流程 -->
  <DisableProjectBuild Condition="'$(MSBuildRuntimeType)' == 'Core'">true</DisableProjectBuild>
</PropertyGroup>
  • 原理:$(MSBuildRuntimeType)在dotnet build环境下值为Core,此时DisableProjectBuild设为true,MSBuild会加载项目但跳过构建步骤。
  • 优势:不影响Visual Studio内的正常开发构建,也不需要修改项目的根节点配置,更直观灵活。

方法2:通过项目节点的Condition属性跳过加载

修改VSIX项目.csproj的根<Project>节点,添加条件判断:

<Project Sdk="Microsoft.VsSDK" Condition="'$(BuildingInsideVisualStudio)' == 'true' OR '$(MSBuildRuntimeType)' != 'Core'">
  • 原理:仅当在Visual Studio内构建(BuildingInsideVisualStudio为true),或使用传统MSBuild而非dotnet CLI时,才加载并构建该项目。
  • 特点:dotnet build时MSBuild会完全跳过该项目的加载,适合希望彻底排除项目参与CLI构建流程的场景。

两种方式都能解决你遇到的VSSDK构建报错问题,同时保留VSIX项目在开发环境中的实用性。

内容的提问来源于stack exchange,提问作者Voo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:31:09