Когда я пытаюсь создать объект Microsoft.TeamFoundation.Client.TeamFoundationServer в HomeController моего приложения MVC, я получаю следующую ошибку:
TF30076: указано имя сервера {TfsServerName}
не соответствует URI сервера
это можно найти. Подтвердите, что
правильное имя сервера.
Я использую аутентификацию Windows для приложения MVC, поэтому свойство Controller.User заполняется как логин моего домена {домен \ имя пользователя}.
Когда я отлаживал с помощью Visual Studio Development Server, код работал нормально. После того, как я начал использовать виртуальный каталог в IIS, выполнение кода начало возвращать вышеупомянутую ошибку.
Я использую Visual Studio / TFS 2008 (v9.0), среду Windows XP и ASP.NET MVC 1.0.
Исключение:
Microsoft.TeamFoundation.TeamFoundationInvalidServerNameException:
TF30076: имя сервера {xxxx}
при условии, не соответствует
URI сервера, который можно найти. подтвердить
что имя сервера правильное. в
Microsoft.TeamFoundation.Client.TeamFoundationServer.GetUriForName (String
имя) в
Microsoft.TeamFoundation.Client.TeamFoundationServer.get_Uri ()
в
Microsoft.TeamFoundation.Client.CheckAuthenticationProxy..ctor (TeamFoundationServer
сервер) в
Microsoft.TeamFoundation.Client.TeamFoundationServer.Authenticate (Boolean
useProvider, ICredentialsProvider
поставщик) в
Microsoft.TeamFoundation.Client.TeamFoundationServer.Authenticate ()
в
Portal.TfsHelper.AuthenticateTfsServer ()
в
D: \ Portal \ Portal \ Models \ 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://server -имя: 8080");":
System.Security.SecurityException: Запрашиваемый доступ к реестру не разрешен.
в System.ThrowHelper.ThrowSecurityException (ресурс ExceptionResource)
в Microsoft.Win32.RegistryKey.OpenSubKey (имя строки, логическая запись)
в Microsoft.TeamFoundation.Client.RegisteredServers.OpenCurrentUser (логическая запись, логическая установка)
в Microsoft.TeamFoundation.Client.RegisteredServers.AddServer (String serverFriendlyName, String serverUrl)
в Portal.Controllers.HomeController..ctor () в D: \ Portal \ Portal \ Controllers \ HomeController.cs: строка 42
Зона сборки, которая провалилась, была:
MyComputer