Microsoft MVP성태의 닷넷 이야기
Whidbey breaking change --- Caching binding failures [링크 복사], [링크+제목 복사],
조회: 9309
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

출처: http://blogs.msdn.com/junfeng/archive/2004/07/22/190813.aspx
assembly not found에 대한 속도를 높이기 상당히 고심한 흔적이 엿보이네요. ^^

Whidbey breaking change --- Caching binding failures

This is one of the breaking change mentioned in gotdotnet.com's break change from .Net 1.1 to 2.0

Cache load failures in order to ensure that different app domains do not have different dependency loading success/failure characteristics in domain neutral sharing scenarios

 

http://www.gotdotnet.com/team/changeinfo/Backwards1.1to2.0/default.aspx#00000067

 

What does it mean?

 

Say  you call Assembly.Load(”Foo, version=1.0.0.0, culture=neutral, publicKeyToken=0123456789abcdef”), you get a FileNotFoundException. You realize that foo.dll should be in GAC but you forget to install it. So you install it (using gacutil.exe or some other mechanism) to GAC. Now you call Assembly.Load(“Foo, version=1.0.0.0, culture=neutral, publicKeyToken=0123456789abcdef“) again.

 

In v1.0/v1.1, the second load will succeed. In Whidbey, the second load will fail.

 

Installing to GAC is just an example. As long as the first bind failed, the second bind will fail with exactly the same exception.

 

The caching is done on per AppDomain basis. If you create a new AppDomain and call Assembly.Load() on that app domain, it will succeed.








[최초 등록일: ]
[최종 수정일: 4/14/2006]


비밀번호

댓글 작성자
 



2006-03-14 12시52분
이러한 binding failures 에 대한 캐쉬를 하지 못하도록 설정하는 방법이 configuration 에 제공되고 있습니다.

disableCachingBindingFailures
; http://blogs.msdn.com/junfeng/archive/2006/03/13/550877.aspx
kevin25

1  [2]  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
1154정성태1/16/201220050.NET : 122. msiexec.exe를 닷넷으로 만들어 보면!파일 다운로드1
1153정성태1/2/201226458개발 환경 구성: 146. SYSTEM 권한으로 UI 프로그램 실행하는 방법
1152정성태1/2/201217353.NET : 121. PAARC - Windows Phone PC Controller
1151정성태11/30/201118628.NET : 120. Lua 스크립트와 닷넷의 연동
1150정성태11/9/201118258VS.NET IDE : 61. Game Debugging in Visual Studio 11
1149정성태11/4/201117610.NET : 119. Project2NuGet
1148정성태10/6/201119976Debug : 49. Visual Studio 11 - 커널 디버깅 #1
1147정성태9/17/201120934Windows 8: 1. Windows 8 단축키
1146정성태9/1/201120626SDK : 20. SxSTrace 도구 및 Visual C++ DLL을 함께 배포하는 방법
1145정성태7/5/201120157.NET : 118. Windows Phone 7에서의 DPAPI 사용
1144정성태6/29/201127481.NET : 117. CSV 파일을 다루는 방법 [1]
1143정성태6/23/201118825VS.NET IDE : 60. VS Load Test - 부하 조절
1142정성태6/23/201119802SDK : 19. LastWriteTime 과 ChangeTime 의 구분 [2]
1141정성태6/23/201118321.NET : 116. Entity Framework 4 - Lazy Loading, Eager Loading [1]
1140정성태6/23/201117759개발 환경 구성: 145. Using the multiple NICs of your File Server running Windows Server 2008 (and 2008 R2)
1139정성태6/22/201119244Visual C++ : 18. Visual C++ 2010에 포함된 Asynchronous Agents Library
1138정성태6/12/201117678.NET : 115. HTML 5 Host Application Framework for WP7 "MANGO”
1137정성태3/30/201117847SDK : 18. 파일을 Guid로 식별하는 함수 - OpenFileById
1136정성태3/30/201115360Web : 9. HTTPS 통신과 Keep-Alive 연결 설정
1135정성태3/28/201115888Web : 8. IE 9 - 변경된 Accept 헤더 정책
1134정성태3/28/201114973Debug : 48. Start Debugging with Windbg
1133정성태3/27/201114166Debug : 47. x64 호출 규약에서의 인자 값 찾는 방법
1132정성태3/27/201116412.NET 3.0 : 36. WCF - net.pipe 통신의 실제 Named Pipe 이름 구하는 방법
1131정성태3/27/201115220개발 환경 구성: 144. Windows Server 2008 R2 설치 및 설정
1130정성태3/1/201114982.NET : 114. Axum...
1129정성태2/14/201114632.NET : 113. Running .NET applications in-process using AppDomains
1  [2]  3  4  5  6  7  8  9  10  11  12  13  14  15  ...