Partager via


Dépannage du proxy Team Foundation Server

Mise à jour : novembre 2007

Cette rubrique répertorie les problèmes courants ci-après qui peuvent se produire lorsque vous utilisez le proxy Team Foundation Server et la couche Application.

  • UnauthorizedAccessException lorsque vous essayez d'accéder à la racine du cache du fichier

  • Exception AccessDenied due à l'expiration du mot de passe du compte de service de proxy

  • InvalidOperationException lorsque vous essayez de démarrer la méthode Web QueryProxyStatistics

  • CryptographicException lorsque vous essayez de générer une nouvelle clé privée

Si vous ne parvenez pas à résoudre un problème après avoir passé en revue ces conseils et ceux de la rubrique d'aide relative aux messages d'erreur, consultez les Forums techniques Microsoft relatifs à Visual Studio Team System (https://go.microsoft.com/fwlink/?LinkId=54490). Ces forums proposent des threads de recherche sur diverses rubriques de résolution des problèmes et sont surveillés pour fournir des réponses rapides à vos questions.

UnauthorizedAccessException lorsque vous essayez d'accéder à la racine du cache du fichier

Si vous essayez d'accéder au dossier CacheRoot, le message d'erreur suivant (ou similaire) peut s'afficher dans le journal des événements du serveur proxy :

TF53010 : une condition inattendue s'est produite dans un composant Team Foundation.

Les informations contenues ici doivent être mises à disposition de votre personnel administratif.

Informations techniques (pour le personnel administratif) :

Message d'exception : l'accès au chemin d'accès 'C:\Program Files\Microsoft Team Foundation 2005\Web Services\VersionControlProxy\Data\00000000 -0000-0000-0000-000000000000 \00' est refusé. (tapez UnauthorizedAccessException)

Trace de la pile d'exception :

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

   at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)

   at System.IO.DirectoryInfo.Create(),

Cette erreur se produit lorsque le compte de service de proxy ne dispose pas des autorisations appropriées pour accéder au dossier racine du cache. Pour corriger cette erreur, confirmez que le compte de service de proxy dispose des autorisations Lire et Écrire avec la valeur Autoriser sur le dossier racine du cache.

Exception AccessDenied due à l'expiration du mot de passe du compte de service de proxy

Si le mot de passe du compte de service de proxy a expiré et que le service de proxy essaie de télécharger un fichier à partir de la couche Application, l'erreur suivante est retournée :

Message détaillé : ErrorDownloadingFromAppTier

Message d'exception : <html><head><title>Error</title></head><body>Erreur : accès refusé.</body></html> (tapez ProxyException)

Trace de la pile d'exception :

    at Microsoft.TeamFoundation.VersionControl.Server.Proxy.ProxyRepository.GetDownloadResponse(String downloadUrl)

   at Microsoft.TeamFoundation.VersionControl.Server.Proxy.CacheMissDownloadStatus.StartDownload()

   at Microsoft.TeamFoundation.VersionControl.Server.Proxy.CacheMissWriter.PerformDownload(Object stateInfo)

Erreur : accès refusé

Pour éviter ce problème, utilisez un script pour vous avertir lorsque les mots de passe expirent. Vous devez répondre à ces notifications en mettant à jour le mot de passe du compte de service avant que le service soit affecté. Pour obtenir un exemple de ce type de script, consultez l'article technique de Microsoft Developer Network (https://go.microsoft.com/fwlink/?LinkId=69960.

InvalidOperationException lorsque vous essayez de démarrer la méthode Web QueryProxyStatistics

Si vous démarrez la méthode Web ProxyStatistics, le message d'erreur suivant (ou similaire) peut s'afficher dans le journal des événements du serveur proxy :

System.InvalidOperationException : impossible de générer une classe temporaire (result=1).

Erreur CS2001 : impossible de trouver le ficher source 'C:\WINDOWS\TEMP\fxe6fkpm.0.cs'

Erreur CS2008 : absence d'entrée spécifiée

   at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, CompilerParameters parameters, Evidence evidence)

   at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, CompilerParameters parameters, Assembly assembly, Hashtable assemblies)

   at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)

   at System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Evidence evidence)

   at System.Web.Services.Protocols.XmlReturn.GetInitializers(LogicalMethodInfo[] methodInfos)

   at System.Web.Services.Protocols.XmlReturnWriter.GetInitializers(LogicalMethodInfo[] methodInfos)

   at System.Web.Services.Protocols.MimeFormatter.GetInitializers(Type type, LogicalMethodInfo[] methodInfos)

   at System.Web.Services.Protocols.HttpServerType..ctor(Type type)

   at System.Web.Services.Protocols.HttpServerProtocol.Initialize()

   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

Pour corriger cette erreur, confirmez que le compte de service de proxy dispose des autorisations Lecture, Lecture et exécution et Affichage du contenu du dossier avec la valeur Autoriser sur le dossier %WINDIR%\Temp.

CryptographicException lorsque vous essayez de générer une nouvelle clé privée

Si RSACryptoProvider ne peut pas générer une nouvelle clé privée, l'exception CryptographicException suivante (ou similaire) peut s'afficher dans le journal des événements du serveur proxy :

Exception : CryptographicException

Message : le jeu de clés n'existe pas

Trace de la pile :

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)

   at System.Security.Cryptography.SafeProvHandle._FreeCSP(IntPtr pProvCtx)

   at System.Security.Cryptography.SafeProvHandle.ReleaseHandle()

   at System.Runtime.InteropServices.SafeHandle.InternalDispose()

   at System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing)

   at System.Runtime.InteropServices.SafeHandle.Dispose()

   at System.Security.Cryptography.RSACryptoServiceProvider.Dispose(Boolean disposing)

   at System.Security.Cryptography.AsymmetricAlgorithm.System.IDisposable.Dispose()

   at Microsoft.VisualStudio.Hatteras.Util.RequestSignatures.GenerateNewPrivateKey(Int32 keyLength)

   at Microsoft.VisualStudio.VersionControl.Server.AdministrationManager.GenerateRepositoryKey(IPrincipal userPrincipal, Int32 keyLength)

   at Microsoft.VisualStudio.Hatteras.Server.Global.Initialize()

   at Microsoft.VisualStudio.TeamFoundation.Server.TeamFoundationApplication.InitializeInternal()

Cette erreur se produit lorsque RSACryptoProvider crée un fichier de clé, mais ne peut pas le supprimer en raison d'autorisations insuffisantes.

Remarque :

Ce problème se produit uniquement sur la couche Application.

Pour corriger cette erreur, confirmez que le compte de service de proxy dispose de l'autorisation Contrôle total avec la valeur Autoriser sur le dossier RSA Machine Key et le dossier des paramètres (par exemple, C:\Documents ans Settings\All Users\Application Data\Microsoft\Crypto\RSA).

Voir aussi

Concepts

Gestion des connexions à distance avec Team Foundation Server Proxy

Paramètres du fichier Web.Config de Team Foundation Server Proxy