升级Visual Studio 2017至15.7.0后项目无法运行,遇程序集加载错误
解决VS2017升级15.7.0后System.Web.RegularExpressions加载失败问题
我之前也碰到过一模一样的情况,升级Visual Studio 2017到15.7.0版本后,所有项目都报Could not load file or assembly 'System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.的错误,手动添加引用也没用。下面是几个亲测有效的解决步骤:
1. 修复.NET Framework相关组件
VS升级过程中可能会导致.NET Framework的部分组件缺失或损坏,你可以这样操作:
- 打开Visual Studio Installer,选择“修改”按钮
- 在“工作负载”或“单个组件”页面,确保你项目使用的.NET Framework版本(比如4.7.x)对应的开发工具和SDK已勾选
- 点击右下角的“修复”,等待修复完成后重启VS
2. 清理NuGet缓存并还原包
NuGet缓存的旧包可能和升级后的环境冲突,尝试清理缓存:
- 打开命令提示符(CMD或PowerShell),执行命令:
dotnet nuget locals all --clear - 回到VS中,右键你的项目,选择“还原NuGet包”
- 等待还原完成后,重新生成并运行项目
3. 检查引用路径与绑定重定向
手动添加引用时可能选到了错误的DLL,或者缺少绑定重定向配置:
- 右键项目 → 添加引用 → 浏览,找到对应版本的DLL路径:
- 32位系统:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Web.RegularExpressions.dll - 64位系统:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Web.RegularExpressions.dll
- 32位系统:
- 打开项目的
app.config(桌面项目)或web.config(Web项目),检查是否存在正确的绑定重定向配置,如果没有就添加:<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
4. 重置Visual Studio用户设置
升级后的VS配置可能出现异常,尝试重置用户数据:
- 以管理员身份打开“Developer Command Prompt for VS 2017”
- 执行命令:
devenv /resetuserdata - 等待命令执行完成后,重启VS并重新加载项目
如果以上方法都无效,可以尝试创建一个全新的空白项目,测试是否能正常运行,以此排除项目本身的配置问题。
内容的提问来源于stack exchange,提问作者Corobori
相关产品推荐
相关产品推荐

