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