다른 버전 dll 참조

2670 단어 C#>기타

문제 설명


한 항목이 서로 다른 버전의 같은 dll을 인용하면 다음과 같은 오류가 발생할 수 있습니다.
파일이나 프로그램 집합'xxx,Version=x.x.x.x,Culture=neutral,PublicKeyToken=xxxxxxxxxxx'또는 그 의존항을 불러올 수 없습니다.지정된 파일이 없습니다.
프로젝트에서 같은 dll의 다중 버전 문제를 해결합니다.

해결 방법


웹을 설정합니다.config 구성 파일(app.config 또는 web.config) 추가 구성 노드
서로 다른 장면에 서로 다른 해결 방식이 있는데, 아래에 설명한다.

1. 장면이 높은 버전으로 호환


예: 새 항목과 이전 항목은 모두 Newtonsoft를 참조합니다.Json, 그런데 버전이 달라요.최고 버전의 호환이 필요합니다. 
 

  
    
      
      
    
  

 

2. 장면 2 동일 dll 두 가지 버전 공존


 
예: 항목은 스스로 log4net을 참조합니다.dll 버전 1.2.13.0.제3자 어떤 dll을 추가하고 제3자는log4net에 의존한다.dll 버전 1.2.9.0, 프로젝트에 두 가지 버전이 공존해야 합니다.
여기에 두 가지 상황으로 나뉘는데 dll의publicKeyToken이 같은지 다르는지(publicKeyToken 조회는 설명 1)
publicKeyToken과 동일하게 구성:

  
    
      
      
      
    
  

publicKeyToken과 달리 구성 방법:

  
    
      
      
    
    
      
      
    
  

 

설명


1. publicKeyToken 획득 방법: vs Tools Command Prompt 명령줄 도구를 사용하고 입력: SN-T "path", 예를 들어:
 
C:\Program Files (x86)\Microsoft Visual Studio 11.0>SN -T "D:\project\liberary\External\log4net.dll"

Microsoft(R) .NET Framework            4.0.30319.17929
    (C) Microsoft Corporation。      。

      b32731d11ce58905
 
 
 

참고 문헌


msdn 설정에 대한 설명: 클릭하여 링크 열기
 

좋은 웹페이지 즐겨찾기