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

Visual Studio 2019发布C#项目时文件复制失败求助

解决C#项目发布时的长路径复制错误

兄弟,这个问题我太熟了——本质就是Windows那烦人的传统路径长度限制在搞鬼,给你拆解下原因和解决办法:

问题根源

Windows传统API默认限制路径长度为260字符(包含文件名),当你的源文件路径超过这个长度时,系统会直接触发"找不到路径""复制失败"的报错,哪怕目标路径是短的也没用——因为源路径先碰了限制红线。另外,就算系统本身支持长路径,有些旧版本的MSBuild、发布工具或者项目配置没开启适配,也会出现这类问题。

具体解决办法

  • 开启Windows系统级长路径支持
    如果你用的是Windows 10 1607版本及以上、或者Windows Server 2016及以上,可以通过注册表开启:

    1. 打开注册表编辑器(运行 regedit),定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    2. 找到LongPathsEnabled(没有的话就新建一个DWORD(32位)值),设置值为1
    3. 重启电脑生效
  • 给项目开启长路径适配
    打开你的.csproj项目文件,在<PropertyGroup>节点里添加一行配置:

    <EnableLongPaths>true</EnableLongPaths>
    

    这样MSBuild在编译和发布时就能正确处理长路径了。

  • 简化路径结构(最直接的临时方案)

    • 把项目移到更上层的目录,比如从C:\Users\你的用户名\Documents\Visual Studio 2022\Projects\超级长的项目名\多层子文件夹改成D:\Proj\ShortName
    • 缩短项目内的文件夹名称、减少层级;检查NuGet包有没有路径特别深的,必要时换用结构更简洁的包版本
  • 更新开发工具
    确保你用的是最新版的Visual Studio或者.NET SDK,旧版本对长路径的支持不完善,更新后很多这类问题会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 19:27:37