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

使用Web Deploy发布ASP.NET项目时目标文件夹为空如何解决

ASP.NET Framework 4.6.1 发布提示成功但目标文件夹为空问题

问题表现

  • 基于.NET Framework 4.6.1的ASP.NET项目,无论发布到网络共享路径还是本地文件系统,构建环节可正常完成,执行到Publishing folder /...步骤时无任何耗时直接推进,最终提示Web App was published successfully,但目标路径下无任何写入内容
  • 勾选发布选项中的「Delete all existing files prior to publish(发布前删除所有现有文件)」时,程序可正常删除目标文件夹内已有文件,排除目标路径读写权限异常
  • 数周前使用完全相同的发布配置文件,发布流程可正常运行,无该问题

现有发布配置文件内容

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Test</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>\\myserver\project\wwwroot</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

修复方案

按优先级依次尝试以下操作:

  • 清理编译与发布缓存
    完全关闭Visual Studio后,删除以下路径的内容,重新打开VS重试发布:
    • 项目根目录下的bin、obj文件夹
    • 项目根目录下隐藏的.vs文件夹
    • 本地临时目录下的Web发布缓存:直接在资源管理器地址栏输入%LOCALAPPDATA%\Temp\WebPublish回车,删除该目录下所有内容
  • 补全发布配置缺失项
    当前使用的.pubxml配置文件缺少文件系统发布必需的标识参数,在PropertyGroup节点内补充以下配置:
<publishProtocol>FileSystem</publishProtocol>
<ProjectGuid>{替换为你项目的实际GUID,可在.csproj文件开头的<ProjectGuid>节点找到}</ProjectGuid>

保存配置后重新执行发布。

  • 修复Web Deploy组件
    该问题大概率是本地Visual Studio的Web发布组件损坏导致,打开Visual Studio Installer,找到对应安装的VS版本,选择「修改」,在单个组件列表中确认Web Deploy组件已勾选,执行修复安装,完成后重启VS重试。
  • 命令行发布定位隐藏报错
    如果以上操作都无效,打开对应版本的VS开发人员命令提示符,进入项目根目录执行以下命令,可输出VS发布弹窗隐藏的详细错误日志:
msbuild 你的项目文件名.csproj /p:DeployOnBuild=true /p:PublishProfile=你使用的发布配置文件名.pubxml /v:detailed

在输出日志中搜索Publishing folder相关的段落,即可看到具体的报错原因,对应处理即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:51:17