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

Visual Studio 2022基于平台条件复制文件的构建后事件问题

.NET 6 WPF构建后事件按平台复制文件的解决办法

直接用下面修正后的脚本替换你当前的构建后事件代码:

if "$(PlatformName)" == "Any CPU" (
    xcopy "$(SolutionDir)MyFiles_64\*.*" "$(SolutionDir)SysBin\WebView2\" /s/c/r/y/d
)
if "$(PlatformName)" == "x86" (
    xcopy "$(SolutionDir)MyFiles_32\*.*" "$(SolutionDir)SysBin\WebView2\" /s/c/r/y/d
)

原脚本失效的核心原因

  • 错误使用EQU:批处理中EQU仅用于数值比较,字符串比较必须用==
  • 未给带空格的变量加引号:$(PlatformName)值为"Any CPU"时,空格会被批处理当成参数分隔符,导致判断逻辑直接出错
  • 单行书写易出解析问题:拆分多行既提升可读性,也能避免批处理解析长命令时的语法异常

额外验证建议

  • 可在脚本开头加echo $(PlatformName),构建时查看输出的平台名称是否符合预期
  • 若目标目录$(SolutionDir)SysBin\WebView2\不存在,可在xcopy前添加mkdir "$(SolutionDir)SysBin\WebView2\"避免报错
  • 确认$(SolutionDir)路径末尾的反斜杠:xcopy会自动处理重复反斜杠,无需刻意修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:50:55