MSBuild脚本获取“Win32Exception:系统找不到指定的文件”

时间:2012-08-08 19:50:52

标签: visual-studio-2010 tfs msbuild

我已经构建了一个MSBuild脚本,可以自动将为我们的编程团队签入的最新代码部署到2个或3个服务器中的一个(取决于参数)以进行测试。我还写了一个快速的BAT文件来启动它,只是用给定的参数调用“MSBuild.exe”。在MSBuild脚本中,它首先做的是从TFS获取“Get Latest”。这是一段代码片段......

<Project DefaultTargets="BuildLatest" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="C:\Program Files (x86)\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<UsingTask AssemblyFile="C:\Program Files\MSBuild\ExtensionPack\4.0\MSBuild.ExtensionPack.dll" TaskName="TFSSource"/>

...

<PropertyGroup>
   <TFSourceLoc>$/SourceCode</TFSourceLoc>
</PropertyGroup>

...

<Target Name="BuildLatest" >
   <TFSSource TaskAction="Get" ItemCol="$(TFSourceLoc)" />
</Target>

错误回来...... 错误... \ AutoDeploy.xml(163,5):Win32Exception:系统找不到指定的文件

...并且BAT文件结束。

真正奇怪的是,我可以最小化VS 2010并从资源管理器中运行这个完全相同的BAT文件而没有任何问题。

那么我没看到什么?为什么这不会在VS 2010中运行?

预先感谢您的协助!

1 个答案:

答案 0 :(得分:1)

我做了很多研究,这应该在我提出问题之前发生,但无论如何......

我没有调用批处理文件,而是决定尝试直接调用MSBuild.exe并在通用响应文件中放置我的parms(每隔几周用新的Sprint更改)的建议。

我认为通过在“外部工具”对话框中指定正确的目录解决了启动/初始目录的问题。