xbuild真的没有实现Move任务吗?

Does xbuild really not implement the Move task?

我是不是遗漏了什么,或者 xbuild 真的没有实现 <Move> 任务?我正在尝试为所有内容使用 MSBuild 文件构建一个跨平台 C# 项目,这样我们项目中 Windows 和 Linux 之间的差异就会减少,我的 MSBuild 文件看起来有点像这样:

<Copy SourceFiles="$(SrcDir)/$(FirstFile);$(SrcDir)/$(SecondFile)" DestinationFolder="$(DestDir)" />
<Move SourceFiles="$(DestDir)/$(SecondFile)" DestinationFile="$(DestDir)/$(NewFileNameForSecondFile)" />

但是当我 运行 xbuild 时,它会抱怨:

Error initializing task Move: Not registered task Move.

我错过了什么?我知道 xbuild 没有实现 MSBuild 的一些更新 and/or 更高级的功能——我不得不解决其中一些遗漏——但 <Move> 任务似乎是一个非常非常基本的任务一。它真的没有在 xbuild 中实现,还是我遗漏了一些明显的东西?

I think Move 属于 MSBuild 中的 TaskExtensions。您需要将其转换为 CopyDelete 或多个平台特定任务:

xbuild 中的任务名称列表(单声道 4。2.x):

cd mono/mcs/tools/xbuild
grep -RI "TaskName=" * | cut -d "=" -f 2 | cut -d "      " -f 1 | sort | uniq
"Microsoft.Build.Tasks.AL"
"Microsoft.Build.Tasks.AssignCulture"
"Microsoft.Build.Tasks.AssignLinkMetadata"
"Microsoft.Build.Tasks.AssignProjectConfiguration"
"Microsoft.Build.Tasks.AssignTargetPath"
"Microsoft.Build.Tasks.CallTarget"
"Microsoft.Build.Tasks.CombinePath"
"Microsoft.Build.Tasks.Copy"
"Microsoft.Build.Tasks.CreateCSharpManifestResourceName"
"Microsoft.Build.Tasks.CreateItem"
"Microsoft.Build.Tasks.CreateProperty"
"Microsoft.Build.Tasks.CreateVisualBasicManifestResourceName"
"Microsoft.Build.Tasks.Csc"
"Microsoft.Build.Tasks.Delete"
"Microsoft.Build.Tasks.Error"
"Microsoft.Build.Tasks.Exec"
"Microsoft.Build.Tasks.FindAppConfigFile"
"Microsoft.Build.Tasks.FindUnderPath"
"Microsoft.Build.Tasks.GenerateResource"
"Microsoft.Build.Tasks.GetAssemblyIdentity"
"Microsoft.Build.Tasks.GetFrameworkPath"
"Microsoft.Build.Tasks.GetFrameworkSdkPath"
"Microsoft.Build.Tasks.GetReferenceAssemblyPaths"
"Microsoft.Build.Tasks.LC"
"Microsoft.Build.Tasks.MSBuild"
"Microsoft.Build.Tasks.MakeDir"
"Microsoft.Build.Tasks.Message"
"Microsoft.Build.Tasks.ReadLinesFromFile"
"Microsoft.Build.Tasks.RemoveDir"
"Microsoft.Build.Tasks.RemoveDuplicates"
"Microsoft.Build.Tasks.ResolveAssemblyReference"
"Microsoft.Build.Tasks.SignFile"
"Microsoft.Build.Tasks.Touch"
"Microsoft.Build.Tasks.Vbc"
"Microsoft.Build.Tasks.Warning"
"Microsoft.Build.Tasks.WriteCodeFragment"
"Microsoft.Build.Tasks.WriteLinesToFile"