는 NuGet 특정 NuGet 패키지 보여줍니다 버전 번호를 의미 가정 I를보고합니다.
우선 NuGet 패키지 버전이 반드시 패키지의 어셈블리 또는 어셈블리 버전과 일치하지는 않습니다. 따라서 바인딩 리디렉션 버전이 다를 수 있습니다. 이것의 좋은 예는 log4net입니다 :
프로젝트가 최신 버전을 참조하는 동안
log4net NuGet package version: 2.0.3
log4net assembly version: 1.2.13
그래서 NuGet 패키지 중 하나가 log4net의 이전 버전을 참조하는 경우, 그때 바인딩 리디렉션을 추가 할을 기대하는 log4net 1.2.13을 참조하십시오.
NuGet은 패키지 설치시 바인딩 리디렉션을 추가합니다. 패키지 관리자 콘솔 창에서 Add-BindingRedirect 명령을 실행하여 NuGet을 수동으로 가져 와서 프로젝트의 바인딩 리디렉션을 업데이트 할 수도 있습니다.
Add-BindingRedirect MyProjectName
당신과 같은 경고를 얻을 전체 솔루션을 재건에있는 경우 : 당신이 충돌 때문에 이전 NuGet 패키지를 업그레이드 할 수 있습니다 경우 바인딩 리디렉션을 고정 또는보고에 보일 것입니다 그리고
MSB3247 - Found conflicts between different versions of the same dependent assembly
을 그런 식으로 해결됩니다. 그렇지 않으면 응용 프로그램이 특정 어셈블리를로드하지 못할 수 있습니다.
Visual Studio 2013은 적용되는 경우 고려해야 할 또 다른 사항 인 .NET Framework 4.5.1 응용 프로그램에 대한 자동 바인딩 리디렉션을 지원합니다.
저는 최근의 VS13 (프로)에서 실행 중이 라는데, 그게 바로 비자 vi 자동 바인딩입니다 ...이 구절은 web.config에서 제거되고 리다이렉션은 VS에 의해 설정 될 수 있습니까? – justSteve
웹 응용 프로그램을 작성하는 것처럼 보입니다. 문서를 읽는 자동 바인딩 리디렉션은 데스크톱 응용 프로그램에만 해당됩니다. 그러나 Visual Studio에서는 빌드 빌드를 수행 할 때 어셈블리 바인딩 충돌에 대해 알려야합니다. –