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

Visual Studio 2022发布项目到IIS提示找不到部分路径错误

Visual Studio 发布项目到IIS提示找不到路径问题排查

问题背景

  • 项目从本地C盘整体迁移到G盘后,执行发布到IIS操作时触发复制文件报错
  • 报错提示的源文件经核查确实存在于对应路径
  • 已尝试修改注册表开启accept long path长路径支持,问题未解决

报错详情

Could not copy "G:\Shared drives\Information Technology\Employee Folders\Application Development\ASP.net\Exposure Tracker\Exposure Tracker Files\ExposureTracker\wwwroot\Atlantis Theme\js\plugin\jqvmap\maps\continents\jquery.vmap.australia.js" to "G:\Shared drives\Information Technology\Employee Folders\Application Development\ASP.net\Exposure Tracker\Exposure Tracker Files\ExposureTracker\obj\Release\net6.0\PubTmp\Out\wwwroot\Atlantis Theme\js\plugin\jqvmap\maps\continents\jquery.vmap.australia.js". Beginning retry 8 in 1000ms. Could not find a part of the path 'G:\Shared drives\Information Technology\Employee Folders\Application Development\ASP.net\Exposure Tracker\Exposure Tracker Files\ExposureTracker\obj\Release\net6.0\PubTmp\Out\wwwroot\Atlantis Theme\js\plugin\jqvmap\maps\continents\jquery.vmap.australia.js'.

根因说明

报错里的目标路径总长度超过260字符,触发Windows传统Win32路径长度限制。之前单独修改系统注册表开启长路径未生效,是因为Visual Studio、MSBuild、.NET SDK默认没有同步开启长路径兼容,加上迁移后的G盘目录本身嵌套层级极深,叠加发布临时目录obj\Release\net6.0\PubTmp\Out的嵌套层级,直接触发了路径长度限制。

解决步骤

按优先级依次操作即可:

  • 先清理项目缓存:关闭所有打开的Visual Studio窗口,手动删除项目根目录下的bin、obj两个文件夹,重新打开VS后右键项目选择「重新生成」,再尝试发布
  • 补全全链路长路径支持配置:
    1. 确认注册表路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem下的LongPathsEnabled键值为1,修改后重启电脑生效
    2. 找到VS安装目录下的devenv.exe.config文件(默认路径参考:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE,根据安装版本替换Community为Professional/Enterprise即可),在文件内的<runtime>节点下添加配置:
    <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
    
    保存后重启Visual Studio
    3. 给.NET 6项目开启长路径兼容:在项目根目录新建或编辑Directory.Build.props文件,添加如下配置:
    <Project>
      <PropertyGroup>
        <LongPathSupport>true</LongPathSupport>
      </PropertyGroup>
    </Project>
    
  • 若上述配置后仍报错,直接缩短项目所在路径层级:删除路径中冗余的中间文件夹,将项目移动到G:\Dev\ExposureTracker这类层级更浅的短路径下,从根源规避路径过长问题
  • 最后检查目录权限:给当前Windows登录账户、IIS_IUSRS用户组授予项目所在目录的完全控制权限,避免权限不足导致发布进程无法创建深层嵌套目录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:27:25