使用IntermediateOutputPath后文件未复制到目标路径求助
解决方案
检查发布配置文件的核心设置
打开Properties/PublishProfiles/[你的发布配置名].pubxml,确认两个关键配置:WebPublishMethod必须设为FileSystem(因为你是发布到本地文件夹)PublishUrl要准确指向你期望的目标路径,同时可以加上<DeleteExistingFiles>True</DeleteExistingFiles>确保目标目录旧文件被清理
示例配置片段:
<PropertyGroup> <WebPublishMethod>FileSystem</WebPublishMethod> <PublishUrl>C:\Your\Desired\Target\Folder</PublishUrl> <DeleteExistingFiles>True</DeleteExistingFiles> </PropertyGroup>排查
website.publishproj的冲突配置
检查你修改的website.publishproj文件,确保没有误加覆盖发布路径的配置:- 不要出现
<PublishUrl>$(IntermediateOutputPath)</PublishUrl>这类把发布目标指向中间目录的设置 - 你的
IntermediateOutputPath配置应该仅用于编译中间文件,比如:<PropertyGroup> <IntermediateOutputPath>C:\Short\Path\obj\</IntermediateOutputPath> </PropertyGroup>
- 不要出现
清理缓存后重新发布
右键项目选择“清理”,手动删除项目根目录的bin、obj文件夹,以及你设置的IntermediateOutputPath目录,然后重新加载项目再执行发布操作,避免旧缓存干扰流程。查看详细发布日志定位问题
在Visual Studio中打开工具 -> 选项 -> 项目和解决方案 -> 生成并运行,把“MSBuild项目生成输出详细程度”设为“详细”,然后重新发布。切换输出窗口到“发布”类别,查看日志中关于文件复制的部分,确认实际复制的目标路径是否正确,有没有跳过复制的异常提示。
内容的提问来源于stack exchange,提问作者Jim
相关产品推荐
相关产品推荐

