2012-08-08 102 views
0

我已经构建了一个MSBuild脚本,用于将我们的编程团队签入的最新代码每日部署到2或3个服务器中的一个(取决于参数) 供测试用。我也写了一个快速的BAT文件来启动它,它只是用给定的参数调用“MSBuild.exe”。在MSBuild脚本中,它所做的第一件事是从TFS获取“获取最新”。下面的代码片段...MSBuild脚本获取“Win32Exception:系统找不到指定的文件”

<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> 

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

...并且BAT文件结束。

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

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

预先感谢您的帮助!

回答

0

我做了很多更多的研究之前,我问的问题应该已经发生了,但是反正...

而不是调用批处理文件,我决定尝试直接调用MSBuild.exe的建议,在通用响应文件中添加我的参数(这将每隔几周改变一次新的Sprint)。

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

相关问题