2014-10-20 79 views
0

我尝试使用MSBuild脚本从TFS chekout我的文件。但我正在逐渐“退出,代码为9009”MSBuild错误,而chekout:退出代码9009

我的代码是波纹管:

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> 
<PropertyGroup> 
<TfCommand> 
    &quot;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe&quot; 
</TfCommand> 
</PropertyGroup> 

<Target Name="Build"> 
<Exec Command="$(TfCommand) checkout &quot;$/ApplicationSharedServices/release/dev_branch/renderer/bin/MIME.dll&quot;"/> 
</Target> 

</Project> 
+0

可能没有关系,但你为什么有源控制下的bin文件夹? – 2014-10-20 08:50:32

+0

您是否有为该源代码管理映射设置的工作区? – 2014-10-20 08:50:57

+0

从Visualstudio我已经从TFS下载了文件。我正在使用这些操作的相同文件夹。 除了映射需要从MSbuils提供吗? – user3902356 2014-10-20 09:36:10

回答

0

按照刚刚TFS的答案,你需要的是在您的工作空间运行TF之前的文件夹中。它可以正常使用VS,但MSBuild纯粹你需要在文件夹中。现在你在技术上并不需要在完成获取时完整的路径。只是MIME.dll。

出于好奇,你为什么运行MSBuild TF get命令?这是在你自动构建?您应该开始使用PowerShell并运行预生成脚本来获取所需的信息。你也可以使用Nuget与包恢复来获得编译所需的任何DLL。

干杯, ET

+0

是的,我正在使用MSBuild编写自动生成脚本。 我有以下要求 1.Checkout DLL 2.获取最新文件3.编译解决方案4.检入TFS中的dll。 如果我在MSbuild脚本中使用TF命令。有效的权利或任何其他命令是否有在MSbuild执行TFS操作?没有第三个包。 – user3902356 2014-10-21 08:16:04

+0

TFS的编译版本是1(如果在构建定义工作区)/ 2/3默认不会执行4。现在你为什么要检查你的dll?是因为你实际上正在编译它们并想推回新建立的?那些DLL用于什么?他们是否是其他项目的依赖组件?你有没有看过Nuget? – Etienne 2014-10-22 20:09:03

+0

是的,我正在编译和签入新的DLL(如果代码没有改变)。这些dll是依赖dll(我们自己的dll)。 Dll不是其他项目的依赖项。这些仅用于我们的应用程序。 – user3902356 2014-10-27 09:59:10