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

Azure构建管道报错:无法加载System.web.mobile程序集求解决方案

解决Azure构建管道中System.web.mobile找不到的问题

核心原因

.NET Framework 4.6.1已正式移除System.Web.Mobile程序集,本地能正常构建是因为开发环境可能残留了旧版本的引用或配置,而Azure构建代理环境是干净的标准环境,因此触发找不到程序集的报错。

具体解决步骤

1. 清理项目中的旧引用

  • 打开VS 2019项目,右键项目→管理NuGet程序包,卸载所有与System.Web.Mobile相关的包
  • 直接编辑项目文件(.csproj),删除所有包含<Reference Include="System.Web.Mobile"的行

2. 修正Web.config中的冗余配置

  • 打开Web.config,移除<assemblies>节点下的<add assembly="System.Web.Mobile, ..." />配置项
  • 删除页面或控件中引用System.Web.Mobile的注册代码,比如:
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
    
  • 替换项目中依赖的旧移动控件,改用ASP.NET标准控件或适配移动端的前端方案

3. 调整Azure构建管道配置

  • 确保构建管道使用VS 2019托管代理(如vs2019-win2019),避免使用过旧的代理环境
  • 如果使用MSBuild命令构建,添加参数明确指定框架版本:
    msbuild YourProject.sln /p:TargetFrameworkVersion=v4.6.1 /p:Configuration=Release
    

4. 本地验证后再触发构建

  • 执行清理解决方案→重新构建,确保本地无报错后,再推送代码触发Azure构建

临时过渡方案(不推荐长期使用)

如果无法立即移除所有System.Web.Mobile依赖:

  • 将旧版本的System.Web.Mobile.dll放入项目的lib目录,设置其复制到输出目录为“始终复制”
  • 在Web.config的<runtime>节点添加绑定重定向:
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mobile" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:01:44