首页 > 解决方案 > MSBuild中使用RoboCopy复制文件的问题

问题描述

当通过 Azure DevOps 将参数传递到模块列表以在文件中复制和替换它时,引号始终附加到列表中第一个模块的名称。

Azure 的日志示例:

C:\Windows\SYSTEM32\RoboCopy.exe "\\srv-vmb\Build Results\Out\Win32\Release" "\\srv-vmb\Build Results\Components\_Cumulative_patches\ModulesCumPatch\test_Win32\Release" "​SRDD.sys​" SVQ.sys Tuning.dll /S /MT /XD Signed_LSA ​SRDD SVQ Tuning 
 Running C:\Windows\SYSTEM32\RoboCopy.exe  "\\srv-vmb\Build Results\Out\Win32\Release" "\\srv-vmb\Build Results\Components\_Cumulative_patches\ModulesCumPatch\test_Win32\Release" "​SRDD.sys​" SVQ.sys Tuning.dll /S /MT /XD Signed_LSA ​SRDD SVQ Tuning
 Return Code 0. No errors occurred, and no copying was done. The source and destination directory trees are completely synchronized.

复制调用本身的代码:

<MSBuild.ExtensionPack.FileSystem.RoboCopy Source="$(FolderModulesForCopy)\Win32\Release"
                                       Destination="$(CumModulesDir)\test_Win32\Release" 
                                       Files="$(CumFiles)" 
                                       Options="/S /MT /XD Signed_LSA @(ExcludeDir, ' ')"/>

CumFiles 包含由分号分隔的模块列表 SRDD.sys ;SVQ.sys ;Tuning.dll 。列表的任何转换都有助于摆脱引号,它们只出现在列表的第一个元素中,如果您在一开始就在脚本中手动注册一个模块,那么它将被成功复制,并且第一个模块在后面的列表仍然有引号,不会被复制。也许有人遇到过这种情况?

PS对不起我的英语(

标签: azure-devopsmsbuild

解决方案


推荐阅读