TFS 构建不复制 Cordova 项目输出

TFS build does not copy Cordova project output

我正在使用 Visual Studio Tools for Apache Cordova CTP 3.1 在 Visual Studio 2013 Update 4 中开发一个 Cordova 项目。我创建了一个 TFS 构建定义(我使用的是 TFS 2013)对于能够构建项目的项目。我得到了正确的输出,但此输出未复制到指定的放置位置或其他任何地方。

我已经尝试了很多东西,但没有任何效果。我相信这一定与 .jsproj 没有为任何配置定义和 OutputTypeOutputPath 这一事实有关。

暂存位置的构建定义中,在构建默认值中,我选择了将构建输出复制到以下放置文件夹。我得到的只是日志。

见下图。 src 文件夹包含源和构建后 Cordova 构建的输出(binbld ).但是,我希望 bin\Android\Release 中的内容被复制到上层 bin 文件夹(如图所示)并最终在下降位置。这不会发生。

感谢任何帮助。

您可以使用 PowerShell 脚本让它工作。

$packages = gci $Env:TF_BUILD_SOURCESDIRECTORY -recurse -include $("bin") | ?{ $_.PSIsContainer } | foreach { gci -Path $_.FullName -Recurse -include $("*.apk", "*.ipa", "*.plist", "*.xap") }
foreach ($file in $packages) {
    Copy $file $Env:TF_BUILD_BINARIESDIRECTORY
}
gci $Env:TF_BUILD_SOURCESDIRECTORY -recurse -include $("AppPackages") | ?{ $_.PSIsContainer } | Copy -Destination $Env:TF_BUILD_BINARIESDIRECTORY –Recurse -Force 

将它放在解决方案根目录中的解决方案文件夹中,这样它就不会被添加到应用程序包中,并在你的解决方案中检查它。

然后在您的 TFS 构建定义中添加指向此脚本的 "Post-build script"。