1

我有一个Asp.Net MVC项目,它从 TFS(托管在 visualstudio.com 上)获取某些数据并将其可视化。然后我将该网站部署到 Windows Azure(托管在 azurewebsites.com 上)。

获取变更集、人员、构建、源文件等在本地(通过 IIS)和 Azure 上都可以正常工作。在 Azure 上获取 TestCases 和 WorkItems失败,但在本地工作(通过 IIS)。我得到一个Object reference not set to an instance of an object.错误。

不幸的是,我不知道如何克服这个问题。我发现的唯一一件事是,在所有使用 API 提供的预定义查询在 Azure 上工作的情况下,以及在它崩溃的情况下(WorkItems 和 TestCases),我都会编写一个查询并运行它。例子:

 if (_connection.GetTeamProjectCollection() == null) return new List<ITestCase>();
 var testService = _connection.GetTeamProjectCollection().GetService<ITestManagementService>();
 var project = testService.GetTeamProject(_projectName);
 var query = "SELECT [Title] FROM WorkItems WHERE [System.TeamProject] = '" + _projectName + "' AND [System.WorkItemType] = 'Test Case'";
 var testCases = project.TestCases.Query(query); //TODO: works locally but crashes on Azure
 return testCases.ToList();

有没有人有类似的经历?有什么建议可以解决这个问题吗?

4

1 回答 1

0

我建议您使用NetworkCredential &BasicAuthCredential class 链接:如何使用来自 .Net Windows 服务的新基本身份验证对 Visual Studio Team Services 进行身份验证?

于 2013-11-07T15:55:15.977 回答