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

NCrunch无法构建引用Microsoft.Azure.Functions.Worker.Sdk的Azure Functions项目

解决方案

该问题根因是Microsoft.Azure.Functions.Worker.Sdk 1.0.4版本的MSBuild逻辑加载时机早于NCrunch全局属性的注入时机,你写在PackageReference上的条件判断无法正确识别NCrunch构建环境,且该版本SDK会强制修改PrepareForBuildDependsOn属性注入不存在的目标,导致构建报错。可任选以下一种方案解决:

方案1:补充空目标(最简便)

直接在你的.csproj项目文件末尾、</Project>标签之前添加如下配置,补全缺失的空目标即可,不会影响正常的Azure Functions构建发布流程:

<Target Name="NCrunchPrepareForBuild" />

方案2:提前声明构建环境判断规则

在项目根目录新建Directory.Build.props文件,该文件会在所有包逻辑加载前执行,提前完成NCrunch环境识别:

<Project>
  <PropertyGroup>
    <IsNCrunchBuild Condition="'$(NCrunch)' == '1'">true</IsNCrunchBuild>
  </PropertyGroup>
</Project>

再修改项目中的包引用条件,使用提前声明的属性做判断:

<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.0.4" OutputItemType="Analyzer" Condition="'$(IsNCrunchBuild)' != 'true'" />

方案3:升级SDK版本

将Microsoft.Azure.Functions.Worker.Sdk升级到1.2.0及以上版本,该版本微软已经修复了第三方测试构建工具的目标冲突问题,无需额外配置即可兼容NCrunch构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:45:03