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

Azure Function v1项目新机器编译时Newtonsoft.Json.dll未生成至Bin目录求助

解决Azure Function v1(.NET Framework 4.8)迁移后Newtonsoft.Json缺失及编译警告问题

一、修复Newtonsoft.Json.dll未生成的问题

针对新机器编译时RemoveRuntimeDependencies任务移除DLL的问题,可通过以下方式处理:

  • 修改项目文件禁用/精准控制移除逻辑
    编辑项目的.csproj文件,添加以下配置,要么全局禁用移除运行时依赖的任务,要么精准保留指定版本的Newtonsoft.Json:

    <!-- 全局禁用移除任务 -->
    <PropertyGroup>
      <RemoveRuntimeDependencies>false</RemoveRuntimeDependencies>
    </PropertyGroup>
    
    <!-- 或仅保留指定版本的Newtonsoft.Json -->
    <ItemGroup>
      <RuntimeDependencyInclude Include="Newtonsoft.Json" Version="13.0.1" />
    </ItemGroup>
    
  • 确保NuGet包的复制本地属性开启
    右键项目中的Newtonsoft.Json包,将“复制本地”设置为True;也可直接在项目文件中确认配置:

    <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
      <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
      <Private>True</Private> <!-- 此属性控制是否复制到输出目录 -->
    </Reference>
    
  • 验证程序集绑定重定向配置
    确认Web.config中的绑定重定向规则正确,确保旧版本请求能转向13.0.0.0版本:

    <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
    </dependentAssembly>
    

二、处理System.ServiceModel程序集解析警告

该警告源于编译时无法找到System.ServiceModel程序集,可通过以下步骤解决:

  • 添加System.ServiceModel程序集引用
    在项目右键菜单中选择“引用”→“添加引用”,在.NET框架选项卡中找到System.ServiceModel并勾选添加,确保编译时能正常解析该程序集。

  • 确认项目目标框架一致性
    检查新机器上项目的目标框架是否为.NET Framework 4.8,与旧机器保持一致,避免因框架版本不匹配导致程序集引用失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:10:09