.NET7 v4 Azure函数加载System.Text.Json 7.0.0.0失败求助
解决Azure Functions v4 (.NET7)中System.Text.Json.dll缺失问题
针对你遇到的Blob触发函数运行时无法找到System.Text.Json, Version=7.0.0.0的异常,可通过以下方案解决:
- 强制复制所有依赖到输出目录
在函数项目的.csproj文件的<PropertyGroup>节点中添加以下配置:
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
该配置会让构建系统将所有NuGet依赖的程序集复制到输出目录,确保System.Text.Json.dll被包含在内。
- 单独配置System.Text.Json的复制行为
修改项目中System.Text.Json的包引用,明确指定其运行时文件需要被复制:
<PackageReference Include="System.Text.Json" Version="7.0.2"> <PrivateAssets>none</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference>
- 升级Functions SDK到最新稳定版
你当前使用的Microsoft.NET.Sdk.Functions 4.1.3版本存在旧的依赖处理逻辑,升级到最新的v4稳定版本(如4.2.1或更高):
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.2.1" />
- 修复版本匹配问题
若报错是因为版本号不匹配(系统寻找7.0.0.0但项目引用的是7.0.2),在项目根目录创建runtimeconfig.template.json文件,内容如下:
{ "configProperties": { "System.Text.Json.UseLatestJsonSerializer": true } }
该配置会强制应用使用项目中引用的最新版本的Json序列化组件。
内容的提问来源于stack exchange,提问作者Tom Troughton
相关产品推荐
相关产品推荐

