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

Azure Functions与AzureFunctionsTools依赖冲突的最优解决方案咨询

解决方案

你遇到的是Azure Functions宿主预加载依赖与项目本地依赖的版本冲突问题,针对.NET Core 3.1(对应Azure Functions V3运行时),有以下几个更优的替代方案,无需降级你的项目依赖版本:

方案1:配置保留依赖项,禁止宿主预加载

这是官方推荐的冲突解决方式,你可以直接在你的.csproj项目文件中添加FunctionsPreservedDependencies配置项,指定需要使用项目本地版本的依赖包,宿主会跳过预加载这些包,直接加载你bin目录下的对应版本:

<ItemGroup>
  <FunctionsPreservedDependencies Include="Microsoft.Extensions.Logging.Abstractions" />
  <FunctionsPreservedDependencies Include="Nuget.Versioning" />
  <!-- 其他存在版本冲突的依赖都可以按这个格式添加 -->
</ItemGroup>

配置完成后重新生成项目即可生效,本地调试和云端部署都支持该配置。

方案2:启用输出跳过清理

如果方案1没有完全解决问题,可以同时在.csproj的PropertyGroup节点中添加如下配置,避免生成过程中误删你需要的高版本依赖:

<PropertyGroup>
  <TargetFramework>netcoreapp3.1</TargetFramework>
  <AzureFunctionsVersion>v3</AzureFunctionsVersion>
  <!-- 添加下面这行 -->
  <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
</PropertyGroup>

方案3:本地调试适配

如果仅本地调试出现该问题,你可以尝试更新本地Azure Functions Core Tools到最新的V3版本,旧版本的工具预加载的依赖冲突问题更多,更新后可以减少此类冲突概率。如果更新后仍然存在冲突,也可以临时指定使用项目bin目录下的依赖运行,不需要修改全局工具的依赖。

注意:以上方案仅适用于Azure Functions V3运行时(对应.NET Core 3.1),如果后续升级运行时版本,配置规则会有对应调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:45:03