gpt4 book ai didi

asp.net - 在 IIS 中运行并连接到 Visual Studio Online 时,TFS API 在 ASP.NET MVC 应用程序中不起作用

转载 作者:行者123 更新时间:2023-12-01 22:58:26 25 4
gpt4 key购买 nike

我正在构建一个连接到 TFS 的 ASP.NET MVC 应用程序。该应用程序显示了包含测试计划、套件和测试用例的树。

当应用程序在 Visual Studio 2012 Update 3 中运行时,连接到我的开发计算机上安装的 TFS 实例或连接到 Visual Studio Online 时一切正常。当我在本地 IIS 上部署 ASP MVC 应用程序时,它在连接到本地 TFS 时仍然可以工作。但是,当连接到 Visual Studio Online 时,TFS API 给出错误“调用 COM 组件已返回错误 HRESULT E_FAIL”。当我获取测试计划下的条目时,访问 ITestPlan.RootSuite.Entries 时。

问题可能是什么或解决方案是什么?

更多信息:

我引用以下程序集,所有版本均为 11.0.0.0

  • Microsoft.TeamFoundation.Build.Common.dll
  • Microsoft.TeamFoundation.Client.dll
  • Microsoft.TeamFoundation.Common.dll
  • Microsoft.TeamFoundation.dll
  • Microsoft.TeamFoundation.TestManagement.Client.dll
  • Microsoft.TeamFoundation.TestManagement.Common.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.dll

在 Visual Studio 中运行时,ASP MVC 应用程序在 IISExpress 中运行,并加载以下程序集(根据输出窗口):

GAC_MSIL

  • Microsoft.TeamFoundation.Client.dll
  • Microsoft.TeamFoundation.Common.dll
  • Microsoft.TeamFoundation.dll
  • Microsoft.TeamFoundation.TestManagement.Client.dll
  • Microsoft.TeamFoundation.TestManagement.Common.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Common.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll

GAC_32

  • Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll

在 IIS 中运行时,会加载以下程序集(根据 Process Monitor):

C:\WINDOWS\Assembly\NativeImages_v4.0.30319_32\

  • Microsoft.TeamFoundation.Client.ni.dll
  • Microsoft.TeamFoundation.Common.ni.dll
  • Microsoft.TeamFoundation.Diff.ni.dll
  • Microsoft.TeamFoundation.TestManagement.Client.ni.dll
  • Microsoft.TeamFoundation.TestManagement.Common.ni.dll
  • Microsoft.TeamFoundation.VersionControl.Client.ni.dll
  • Microsoft.TeamFoundation.VersionControl.Common.Integration.ni.dll
  • Microsoft.TeamFoundation.VersionControl.Common.ni.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.ni.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.ni.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.ni.dll
  • Microsoft.TeamFoundation.WorkItemTracking.Common.ni.dll

C:\WINDOWS\程序集\GAC_32\

  • Microsoft.WITDataStore.dll

区别在于,IISExpress 加载程序集的 MSIL 版本,而 IIS 加载 native 镜像。 IIS 加载 VersionControl 程序集、Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll 和 Microsoft.TeamFoundation.Diff.ni.dll,而不是 Microsoft.TeamFoundation.dll。这对我来说很奇怪,我无法解释。

在 IIS 中运行时与本地 TFS 或 TFS Online 通信时,会加载相同的程序集。我从中可以得出的唯一结论是从服务器返回的数据是不同的。但这个结论与 IISExpress 中 Web 应用程序可以处理 TFS Online 数据的事实相冲突。

最佳答案

这是我能找到的与我遇到的类似问题相关的唯一帖子,我想我会分享我找到的解决方案。我正在制作一个 Web 应用程序,用于从链接到特定项目版本的 TFS 变更集生成 XML。我遇到了一个问题,我创建的 Web 应用程序可以从 Visual Studio 在 IIS Express 中运行,但在 IIS 中设置时,当我使用“Microsoft.TeamFoundation.WorkItemTracking.Client”命名空间中的内容时,它失败了。在没有 VS 调试工具的情况下苦苦挣扎一段时间后(我对编码相当陌生,可能有一种正确的调试方法),我发现我收到了“TF30063:您无权访问 http://(server)”错误。 p>

无论如何,解决方案:在 IIS 中,转到您的应用程序池 - 高级设置 - 进程模型 - 身份并将其更改为自定义帐户,将您的用户名和密码设置为您的 TFS 用户名和密码。

我知道这是一篇旧帖子,这可能不是原始发帖人遇到的问题,但我想无论如何我都会发布它,以防它对某人有帮助。

关于asp.net - 在 IIS 中运行并连接到 Visual Studio Online 时,TFS API 在 ASP.NET MVC 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com