Exception tfsBuild在启动生成时引发异常,但仍在生成

Exception tfsBuild在启动生成时引发异常,但仍在生成,exception,command-line,build,tfs,tfsbuild,Exception,Command Line,Build,Tfs,Tfsbuild,我正在创建一个程序来启动一系列项目的构建。我从代码中调用一个批处理文件,该批处理文件启动visual studio 2010命令提示符,并根据我选择生成的项目执行各种tfsbuild Start命令。我指定以下参数:TFSBuild start/collection:http://[myServer]:8080//builddefinition:myProject/myBuildDefinition。执行批处理文件后,我得到以下错误,但我返回到TFS,构建开始并成功 Unhandled Exce

我正在创建一个程序来启动一系列项目的构建。我从代码中调用一个批处理文件,该批处理文件启动visual studio 2010命令提示符,并根据我选择生成的项目执行各种tfsbuild Start命令。我指定以下参数:TFSBuild start/collection:http://[myServer]:8080//builddefinition:myProject/myBuildDefinition。执行批处理文件后,我得到以下错误,但我返回到TFS,构建开始并成功

Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object.
   at Microsoft.TeamFoundation.Build.Client.InformationNodeConverters.GetBuildSt
eps(IBuildInformation buildInformation)
   at Microsoft.TeamFoundation.Build.CommandLine.CommandStart.build_StatusChange
d(Object sender, StatusChangedEventArgs e)
   at Microsoft.TeamFoundation.Build.CommandLine.CommandStart.Run()
   at Microsoft.TeamFoundation.Build.CommandLine.BuildCommandLine.RunCommand(Str
ing commandName, String[] args, Boolean& showExitCode)
   at Microsoft.TeamFoundation.Client.CommandLine.RunCommand(String[] args)
   at Microsoft.TeamFoundation.Client.CommandLine.Run(String[]& args)
   at Microsoft.TeamFoundation.Build.CommandLine.BuildCommandLine.Main(String[]
args)
有人知道这个问题吗?调用tfsBuild时是否缺少参数

[使用C代码]

private void _buildButton_Click(object sender, EventArgs e)
    {
        if (_selectedProjectFolder.Equals("ProjectA"))
            Process.Start(@"N:\Build batch files\ProjectA_Build.bat");

        else if (_selectedProjectFolder.Equals("ProjectB"))
            Process.Start(@"N:\Build batch files\ProjectB_Build.bat");

        else if (_selectedProjectFolder.Equals("ProjectC"))
        {
            if (_build32RadioButton.Checked == true)
                Process.Start(@"N:\Build batch files\ProjectC_Build_32.bat");

            else if (_build64RadioButton.Checked == true)
                Process.Start(@"N:\Build batch files\ProjectC_Build_64.bat");
        }            
    }
[批处理文件内容]

Call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
TFSBuild start /collection:http://[MyServer]:8080/ /builddefinition:"MyProject/MyBuild"

该问题是由InformationNodeConverters.GetBuildStepsIBuildInformation方法在与较新版本的TFS服务器对话时引起的

注意,VisualStudioTeam Stand 2008 Team Foundation Server之后不再使用构建步骤,并已用各种新的信息节点类型替换,包括iBuudMead、IuBueDror、IuBudDebug和IcAcvyTyTracle。因此,当与正在运行更新版本的服务器(例如Team Foundation Server 2010

)交谈时,该方法通常会返回空列表。
请发布代码。我添加了我使用的代码。在调用BAT文件的地方发布整个C代码/方法。我认为这与bat文件或TFSBUILD start命令无关。它在你的C代码中。我发布了这个方法。如您所见,我唯一真正使用的是Process.Start。此外,我还尝试过使用VisualStudio命令提示符,但收到了相同的错误。我从VS2010命令提示符尝试了该命令,效果非常好。您是否以管理员的身份运行命令提示符?谢谢,您认为在当前状态下我可以对此做些什么吗?我假设您使用的是旧的VS2008构建定义,对吗?您能否在VS2010工作流中创建一个简单的生成定义,并从命令行调用它。我希望它不会出错。