Team Foundation Server 프록시 문제 해결
업데이트: 2007년 11월
이 항목에서는 Team Foundation Server 프록시와 응용 프로그램 계층을 사용할 때 발생할 수 있는 다음과 같은 일반적인 문제를 보여 줍니다.
파일 캐시 루트에 액세스하려고 할 때 UnauthorizedAccessException이 발생한 경우
프록시 서비스 계정 암호가 만료되어 AccessDenied 예외가 발생한 경우
QueryProxyStatistics 웹 메서드를 시작하려고 하는데 InvalidOperationException이 발생한 경우
새 개인 키를 생성하려고 하는데 CryptographicException이 발생한 경우
여기에 나와 있는 정보와 개별 오류 메시지 도움말 항목의 정보를 검토한 후 문제를 해결할 수 없으면 Microsoft Technical Forums for Visual Studio Team System(https://go.microsoft.com/fwlink/?LinkId=54490)을 확인하십시오. 이러한 포럼은 다양한 문제 해결 항목에 대해 검색 가능한 스레드를 제공하고 사용자의 질문에 신속하게 응답할 수 있도록 모니터링됩니다.
파일 캐시 루트에 액세스하려고 할 때 UnauthorizedAccessException이 발생한 경우
CacheRoot 폴더에 액세스하려고 할 때 프록시 서버 이벤트 로그에 다음과 비슷한 오류 메시지가 표시될 수 있습니다.
TF53010: Team Foundation 구성 요소에서 예기치 않은 상황이 발생했습니다.
여기에 포함된 정보는 사이트 관리 담당자가 사용할 수 있어야 합니다.
관리 담당자를 위한 기술 정보:
예외 메시지: 경로 'C:\Program Files\Microsoft Team Foundation 2005\Web Services\VersionControlProxy\Data\00000000-0000-0000-0000-000000000000\00'에 대한 액세스가 거부되었습니다(UnauthorizedAccessException 형식).
예외 스택 추적:
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(),
이 오류는 캐시 루트 폴더에 액세스할 수 있는 올바른 권한이 프록시 서비스 계정에 없을 경우 발생합니다. 이 오류를 해결하려면 캐시 루트 폴더에 대해 프록시 서비스 계정의 읽기와 쓰기 권한이 모두 허용으로 설정되어 있는지 확인하십시오.
프록시 서비스 계정 암호가 만료되어 AccessDenied 예외가 발생한 경우
프록시 서비스 계정의 암호가 만료된 경우 프록시 서비스가 응용 프로그램 계층에서 파일을 다운로드하려고 하면 다음 오류가 반환됩니다.
자세한 메시지: ErrorDownloadingFromAppTier
예외 메시지: <html><head><title>오류</title></head><body>오류: 액세스가 거부되었습니다.</body></html>(ProxyException 형식)
예외 스택 추적:
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)
오류: 액세스가 거부되었습니다.
이 문제가 발생하지 않도록 하려면 스크립트를 사용하여 암호 만료에 대한 알림을 받으십시오. 이러한 알림을 받으면 서비스가 영향을 받기 전에 서비스 계정 암호를 업데이트해야 합니다. 이 경우 사용할 수 있는 스크립트 예제는 MSDN 기술 문서(https://go.microsoft.com/fwlink/?LinkId=69960)를 참조하십시오.
QueryProxyStatistics 웹 메서드를 시작하려고 하는데 InvalidOperationException이 발생한 경우
ProxyStatistics 웹 메서드를 시작하려고 하는데 프록시 서버 이벤트 로그에 다음과 비슷한 오류 메시지가 표시될 수 있습니다.
System.InvalidOperationException: 임시 클래스를 생성할 수 없습니다(result=1).
오류 CS2001: 'C:\WINDOWS\TEMP\fxe6fkpm.0.cs' 소스 파일을 찾을 수 없습니다.
CS2008 오류입니다. 지정한 입력이 없습니다.
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)
이 오류를 해결하려면 %WINDIR%\Temp 폴더에 대해 프록시 서비스 계정의 읽기, 읽기 및 실행 및 폴더 내용 보기 권한이 허용으로 설정되어 있는지 확인하십시오.
새 개인 키를 생성하려고 하는데 CryptographicException이 발생한 경우
RSACryptoProvider가 새 개인 키를 생성할 수 없는 경우 프록시 서버 이벤트 로그에 다음과 비슷한 CryptographicException이 표시될 수 있습니다.
예외: CryptographicException
메시지: 키 세트가 없습니다.
스택 추적:
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()
이 오류는 RSACryptoProvider가 키 파일을 생성하려고 하는데 권한이 충분하지 않아 키 파일을 삭제할 수 없을 경우에 발생합니다.
![]() |
---|
이 문제는 응용 프로그램 계층에서만 발생합니다. |
이 오류를 해결하려면 Documents and Settings 폴더의 RSA Machine Key 폴더(예: C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA)에 대해 프록시 서비스 계정의 모든 권한이 허용으로 설정되어 있는지 확인하십시오.