如何让Visual Studio支持长文件路径以解决构建失败问题
解决Visual Studio 2022默认支持长路径构建的问题
核心原因
dotnet build默认启用长路径支持,但Visual Studio 2022默认不会自动为项目开启长路径兼容,导致MSBuild在生成输出/中间文件时仍受260字符路径限制,无法创建文件进而报错。
具体解决方案
1. 确保系统层面长路径支持完全生效
虽然你已修改组策略和注册表,仍需确认:
- 注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem下的LongPathsEnabled值为1 - 组策略
计算机配置>管理模板>系统>文件系统>启用 Win32 长路径已启用 - 完成上述设置后重启电脑,确保系统层面的配置生效
2. 全局启用项目长路径支持(推荐)
在解决方案根目录创建Directory.Build.props文件,内容如下:
<Project> <PropertyGroup> <!-- 强制MSBuild使用长路径API --> <EnableLongPaths>true</EnableLongPaths> </PropertyGroup> </Project>
该文件会被解决方案下所有项目自动继承,无需逐个修改项目文件,实现默认支持长路径构建。
3. 单个项目单独配置
若只需针对特定项目,右键项目→编辑项目文件,添加以下属性组:
<PropertyGroup> <EnableLongPaths>true</EnableLongPaths> </PropertyGroup>
4. 优化Visual Studio构建配置
- 打开VS2022→工具→选项→项目和解决方案→生成并运行,将
MSBuild项目构建输出详细程度设为正常,便于排查路径相关的构建日志 - 确保VS安装了最新更新:帮助→检查更新,安装所有可用补丁,部分旧版本VS存在长路径支持的bug
- 取消VS的兼容性模式限制:右键VS快捷方式→属性→兼容性,取消勾选“以兼容模式运行这个程序”
验证
配置完成后,重新加载解决方案并构建,若仍有问题,查看构建日志中的路径信息,确认是否存在未被覆盖的短路径限制配置。
内容的提问来源于stack exchange,提问作者John Spiegel
相关产品推荐
相关产品推荐

