ASP.NET-MVC和TFS:入门TF30076错误(ASP.NET-MVC and TFS: G

2019-10-16 21:51发布

当我尝试在我的MVC应用程序的HomeController中创建一个Microsoft.TeamFoundation.Client.TeamFoundationServer对象,我收到以下错误:

TF30076:提供不对应于一个服务器URI,可以发现该服务器名称{TfsServerName}。 确认服务器名称是否正确。

我使用Windows身份验证的MVC应用程序,所以Controller.User属性填充为我域登录{域\用户名}。

当我调试使用Visual Studio开发服务器,代码工作得很好。 我开始使用IIS虚拟目录后,代码的执行开始返回上述错误。

我使用的Visual Studio / TFS 2008(V9.0),Windows XP环境,以及ASP.NET MVC 1.0。

例外:

Microsoft.TeamFoundation.TeamFoundationInvalidServerNameException:TF30076:提供不对应于一个服务器URI,可以发现该服务器名称{XXXX}。 确认服务器名称是否正确。 在Microsoft.TeamFoundation.Client.TeamFoundationServer.GetUriForName(字符串名称)在Microsoft.TeamFoundation.Client.TeamFoundationServer.get_Uri()在Microsoft.TeamFoundation.Client.CheckAuthenticationProxy..ctor(TeamFoundationServer服务器)在Microsoft.TeamFoundation.Client.TeamFoundationServer。在d认证(布尔useProvider,ICredentialsProvider提供商)在Microsoft.TeamFoundation.Client.TeamFoundationServer.Authenticate()在Portal.TfsHelper.AuthenticateTfsServer():\门户\门户\模型\ TfsHelper.cs:线99

代码抛出异常如下所示:

try
{
    // authenticate before using tfs server
    //TfsServer is created using the following: TfsServer = new TeamFoundationServer("server-name");
    if (!TfsServer.HasAuthenticated)
    {
        TfsServer.Authenticate();
        _hasAuthenticated = true;
    }
}
catch (Exception ex)
{
#warning: temporary error handling for TFS authentication
    String exString = ex.ToString();
    throw new Exception(ex.Message, ex.InnerException);
}

为什么这有什么想法是怎么回事?

异常调用“RegisteredServers.AddServer后出现的(”服务器名称“” HTTP://服务器名称:8080 “);”:

System.Security.SecurityException:请求的注册表访问是不允许的。 在System.ThrowHelper.ThrowSecurityException(ExceptionResource资源)在Microsoft.Win32.RegistryKey.OpenSubKey(字符串名称,布尔可写)在Microsoft.TeamFoundation.Client.RegisteredServers.OpenCurrentUser(布尔可写,布尔shouldCreate)在Microsoft.TeamFoundation.Client.RegisteredServers .AddServer(字符串serverFriendlyName,字符串的serverUrl)在Portal.Controllers.HomeController..ctor()中d:\门户\门户\控制器\ HomeController.cs:线42失败是该组件的区域:我的电脑

Answer 1:

一些尝试在心理调试:

  • 你传递一个友好名称或真实,有效的URI? 如果一个友好的名称,让你使用Visual Studio或注册表编辑器或类似初始化URI的映射? (HKLM \ SOFTWARE \微软\ VisualStudio的\ XXX \ TeamFoundation \服务器)
  • ASP是在需要不同的URI,达到TFS的网络上下文中运行(例如NetBIOS名称VS完全合格的域名,不同的端口...)
  • 是代理服务器设置在两台机器上一样吗? 防火墙吗?
  • 什么凭据传递你通到TeamFoundationServer构造?
    • 如果没有(如示例代码所示),什么域帐户下运行的应用程序池?
    • 是您构建TeamFoundationServer在模拟的环境中运行的线程? 您是否验证模拟正在您预期的方式?


Answer 2:

我渐渐的错误是“访问注册表键值‘HKEY_CURRENT_USER \软件\微软\ VisualStudio的\ 8.0 \ TeamFoundation \服务器’被拒绝System.UnauthorizedAccessException:对注册表项。”

它的工作,一旦我添加的TFS服务器在Visual Studio。 不知道为什么..但只是增加我的答案在这里,以便它可以帮助别人之后。



Answer 3:

最有可能的,提供的服务器名称{} TfsServerName不对应的服务器URI,可以发现。 你应该确认服务器名称是否正确。

来吧,你认为这是在骗你吗? 它找到了服务器,但决定你不值得使用它? 最有可能的,你不通过它你以为你是服务器名称。 停止在调试器,并确保它是当你在开发服务器测试你会得到相同的字符串。

另外,你收到一个错误,或者说是一个例外? 如果这是一个异常,那么请捕获该异常,然后通过张贴ex.ToString的结果后整个异常()。



文章来源: ASP.NET-MVC and TFS: Getting TF30076 Error