Share via


Risoluzione dei problemi relativi a Team Foundation Server Proxy

Aggiornamento: novembre 2007

In questo argomento vengono elencati i problemi comuni che possono verificarsi quando si utilizzano Team Foundation Server Proxy e il livello applicazione.

  • Eccezione UnauthorizedAccessException quando si tenta di accedere alla cartella principale della cache dei file

  • Eccezione AccessDenied causata dalla scadenza della password dell'account del servizio proxy

  • Eccezione InvalidOperationException quando si tenta di avviare il metodo Web QueryProxyStatistics

  • Eccezione CryptographicException quando si tenta di generare una nuova chiave privata

Se non è possibile risolvere un problema dopo avere esaminato sia questi suggerimenti sia quelli riportati nella guida relativi ai singoli messaggi di errore, visitare i forum tecnici Microsoft per Visual Studio Team System all'indirizzo https://go.microsoft.com/fwlink/?LinkId=54490 (informazioni in lingua inglese). Questi forum contengono thread in cui è possibile eseguire ricerche su una serie di argomenti della risoluzione dei problemi e vengono sottoposti a controllo per fornire risposte rapide alle domande degli utenti.

Eccezione UnauthorizedAccessException quando si tenta di accedere alla cartella principale della cache dei file

Se si tenta di accedere alla cartella CacheRoot, nel log eventi del server proxy potrebbe essere presente il seguente messaggio di errore o un messaggio analogo:

TF53010: si è verificata una condizione imprevista in un componente di Team Foundation.

Fornire le informazioni contenute in questo messaggio al personale amministrativo del sito.

Informazioni tecniche (per il personale amministrativo):

Messaggio eccezione: Accesso al percorso "C:\Programmi\Microsoft Team Foundation 2005\Web Services\VersionControlProxy\Data\00000000 -0000-0000-0000-000000000000 \00" negato. (tipo UnauthorizedAccessException)

Analisi dello stack eccezione:

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

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

   a System.IO.DirectoryInfo.Create(),

Questo errore si verifica quando l'account del servizio proxy non dispone delle autorizzazioni appropriate per accedere alla cartella principale della cache. Per correggere questo errore, verificare che entrambe le autorizzazioni Lettura e Scrittura dell'account del servizio proxy siano impostate su Consenti nella cartella principale della cache.

Eccezione AccessDenied causata dalla scadenza della password dell'account del servizio proxy

Se la password dell'account del servizio proxy è scaduta e tramite il servizio proxy viene eseguito un tentativo di scaricare un file dal livello applicazione, viene restituito il seguente errore:

Messaggio dettagliato: ErrorDownloadingFromAppTier

Messaggio eccezione: <html><head><title>Errore</title></head><body>Errore: accesso negato.</body></html> (tipo ProxyException)

Analisi dello stack eccezione:

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

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

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

Errore: accesso negato

Per evitare questo problema, utilizzare uno script per la notifica delle password in scadenza. In risposta a tali notifiche, è necessario aggiornare la password dell'account del servizio prima che si verifichino conseguenze sul servizio. Per un esempio di questo tipo di script, vedere l'articolo tecnico nel sito Microsoft Developer Network (MSDN) all'indirizzo https://go.microsoft.com/fwlink/?LinkId=69960 (informazioni in lingua inglese).

Eccezione InvalidOperationException quando si tenta di avviare il metodo Web QueryProxyStatistics

Se si avvia il metodo Web ProxyStatistics, nel log eventi del server proxy potrebbe essere presente il seguente messaggio di errore o un messaggio analogo:

System.InvalidOperationException: Impossibile generare una classe temporanea (risultato=1).

errore CS2001: Impossibile trovare il file di origine "C:\WINDOWS\TEMP\fxe6fkpm.0.cs"

errore CS2008: Nessun input specificato

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

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

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

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

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

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

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

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

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

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

Per correggere questo errore, verificare che le autorizzazioni Lettura, Lettura ed esecuzione e Visualizzazione contenuto cartella dell'account del servizio proxy siano impostate su Consenti nella cartella %WINDIR%\Temp.

Eccezione CryptographicException quando si tenta di generare una nuova chiave privata

Se tramite RSACryptoProvider non è possibile generare una nuova chiave privata, nel log eventi del server proxy potrebbe essere presente la seguente eccezione CryptographicException o un'eccezione analoga:

Eccezione: CryptographicException

Messaggio: Keyset non esistente

Analisi stack:

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

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

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

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

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

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

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

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

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

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

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

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

Questo errore si verifica quando tramite RSACryptoProvider viene creato un file di chiave ma non è possibile eliminare tale file a causa di autorizzazioni insufficienti.

Nota:

Questo problema si verifica solo a livello applicazione.

Per correggere questo errore, verificare che l'autorizzazione Controllo completo dell'account del servizio proxy sia impostata su Consenti nella cartella della chiave computer RSA inclusa nella cartella Documents and Settings, ad esempio C:\Documents and Settings\All Users\Dati applicazioni\Microsoft\Crypto\RSA.

Vedere anche

Concetti

Gestione delle connessioni remote a Team Foundation Server Proxy

Impostazioni del file Web.Config di Team Foundation Server Proxy