ASP.NET Core 7.0出现Error CS0016无法写入输出文件该如何解决?
修复CS0016:无法写入Razor生成文件的问题
针对你遇到的CS0016错误(无法写入Razor生成的.g.cs文件,提示找不到路径部分),可以按以下步骤排查修复:
清理重建项目,手动删除生成目录
自动清理可能存在残留,手动操作更彻底:- 右键项目 → 选择「清理」
- 关闭Visual Studio,手动删除项目根目录下的
obj和bin文件夹 - 重新打开项目并执行「生成」
检查Razor文件属性
确认Views/Shared/_ValidationScriptsPartial.cshtml的属性配置正确:- 右键该文件 → 选择「属性」
- 确保「生成操作」设置为
Content,「复制到输出目录」设置为不复制
手动创建缺失的目录层级
报错提示的路径中部分目录可能未自动创建,手动补全:
创建路径:C:\Users\jp2code\Documents\Visual Studio 2022\Projects\Core\Mvc1\Mvc1\obj\Debug\net7.0\generated\Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator\
同时确认当前用户对该目录有读写权限(右键目录 → 属性 → 安全页签检查权限)重置Visual Studio缓存
缓存异常可能导致生成逻辑出错:- 关闭Visual Studio
- 删除项目根目录下的隐藏
.vs文件夹 - 重启Visual Studio并重新生成项目
检查项目文件配置
右键项目 → 选择「编辑项目文件」,确认:- 项目顶部的SDK引用为
<Project Sdk="Microsoft.NET.Sdk.Web">(Web项目默认配置) - 没有自定义的
ItemGroup或生成规则干扰Razor文件的自动生成
- 项目顶部的SDK引用为
内容的提问来源于stack exchange,提问作者user22019322
相关产品推荐
相关产品推荐

