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

添加空白Cshtml后运行项目遇Server Error,bin\roslyn\csc.exe损坏不可读

解决Roslyn csc.exe文件损坏导致的Web项目运行错误

我之前也碰到过完全一样的问题,添加空白Cshtml文件后触发了这个Win32Exception,核心就是bin\roslyn\csc.exe文件损坏或者无法正常读取。给你几个亲测有效的解决办法:

方案一:重新安装Roslyn相关NuGet包

这是最常见的修复方式,损坏的文件大概率是NuGet包下载或解压出了问题:

  • 打开Visual Studio的NuGet包管理器控制台(路径:Tools > NuGet Package Manager > Package Manager Console)
  • 先卸载现有包:
    Uninstall-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
    
  • 然后重新安装最新兼容版本:
    Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
    

重新安装后,NuGet会自动替换掉bin目录里损坏的Roslyn文件。

方案二:手动清理并重新生成Roslyn目录

有时候bin目录的缓存文件会出问题,手动清理更彻底:

  • 先关闭Visual Studio,避免文件被占用
  • 找到你的项目根目录,进入bin文件夹,删除整个roslyn子目录
  • 重新打开项目,右键解决方案选择清理解决方案,然后再选择生成解决方案
  • 此时项目会重新从NuGet包源复制完整、正常的Roslyn文件到bin目录

方案三:检查权限与杀毒软件干扰

偶尔杀毒软件会误判Roslyn的编译工具为可疑文件,导致文件被损坏或锁定:

  • 暂时关闭你的杀毒软件或安全防护工具
  • 执行方案一或方案二的步骤,重新获取Roslyn文件
  • 之后可以把bin\roslyn目录添加到杀毒软件的信任列表里,避免再次被误处理

方案四:验证项目构建配置

极少数情况是项目配置错误导致文件无法正确加载:

  • 右键项目 → 属性 → 切换到生成标签页
  • 点击右下角的高级按钮,确认语言版本和你的.NET框架版本兼容(比如.NET Framework 4.7.2对应C# 7.3及以上)
  • 检查项目的引用路径,确保没有指向无效或损坏的Roslyn文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:58:52