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

Visual Studio C#:如何让非依赖项目随启动项目一同构建?

解决VS启动时自动构建未被启动项目依赖的项目问题

这个场景我太熟了!VS默认的构建逻辑是只处理启动项目及其直接/间接依赖的项目,而你的B项目只依赖A、却没被A依赖,所以启动A的时候自然不会触发B的构建。给你几个实用的解决办法:

方法一:强制解决方案构建指定项目

这是最直接的方式,让VS在启动时构建你需要的所有项目:

  • 右键你的解决方案,选择「属性」
  • 切换到「配置属性」→「配置」页面
  • 在下方的项目列表里,找到项目B,勾选它对应的「构建」复选框(注意要匹配你当前使用的配置和平台,比如Debug|Any CPU)
  • 点击「确定」保存设置。之后每次启动解决方案时,VS会自动构建所有勾选了「构建」的项目,包括A和B。

方法二:添加无实际依赖的项目引用(避免循环依赖)

如果不想修改解决方案的全局构建设置,可以给A加一个“假”的B引用,让VS认为A依赖B,但不会引入循环依赖或多余的文件:

  • 右键项目A →「添加」→「项目引用」
  • 在弹出的窗口里勾选项目B,点击「确定」
  • 右键A里的B引用 →「属性」
  • 在属性窗口中,把「复制本地」设为False,「特定版本」设为False,并且取消「输出组」里的所有选项(比如“主输出”“内容文件”)
    这样既让VS在启动A时自动构建B,又不会影响A的输出文件或导致循环依赖。

方法三:使用预构建事件手动触发构建

如果上面两种方法都不适用,还可以通过预构建命令强制构建B:

  • 右键项目A →「属性」→「生成事件」→「预生成事件命令行」
  • 输入类似以下的命令(替换成你B项目的实际路径和文件名):
    msbuild "$(SolutionDir)B\B.csproj" /p:Configuration=$(Configuration),Platform=$(Platform)
    
  • 保存设置后,每次构建A之前,都会自动执行这个命令构建B。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:28:53