ASP.NET에서 다운 그레이드 한 후 발생하는 오류 (찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다.)
전제
ASP.NET에서 NuGet을 사용하여 패키지 관리를 하고 있다.
우선 확인하는 것
의존관계가 망가져 버린 경우는, 패키지를 모두 재설치해 보면 낫는 것이 많이 있습니다. 특히 NuGet을 사용하고 있을 때는 매우 간단하게 가능합니다.
패키지 파일(/package)과 바이너리 파일(/project/bin)을 삭제하고 공식 절차에 따라 재설치를 시도하십시오.
메서드나 속성을 찾을 수 없음
후호 호환성이 없는 ・의도하지 않고 소실해 버린 등의 경우는, 부득이하게 다운그레이드가 필수가 되어 오는 경우가 있습니다.
NuGet 패키지
다운그레이드한 후 "파일 또는 어셈블리(패키지 이름) 또는 종속성 중 하나를 로드할 수 없습니다. 발견된 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다."와 같은 오류 메시지가 나타날 수 있습니다. 있습니다. 이 경우 web.config에서 지정한 패키지 리디렉션이 잘 수정되지 않은 경우가 많습니다.
Web.config<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
그렇다면 이전 버전은 버전 11.0.0으로 리디렉션됩니다. 다운 그레이드하는 경우 당연히 11.0.0 DLL이 없기 때문에 오류가 발생합니다.
리디렉션을 지정하는 부분을 설치한 버젼으로 지정해 주는 것으로 이것은 회피할 수 있습니다.
Web.config<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-9.0.1.0" newVersion="9.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Reference
이 문제에 관하여(ASP.NET에서 다운 그레이드 한 후 발생하는 오류 (찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다.)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keymoon/items/289dfe4af857cf54e25b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
의존관계가 망가져 버린 경우는, 패키지를 모두 재설치해 보면 낫는 것이 많이 있습니다. 특히 NuGet을 사용하고 있을 때는 매우 간단하게 가능합니다.
패키지 파일(/package)과 바이너리 파일(/project/bin)을 삭제하고 공식 절차에 따라 재설치를 시도하십시오.
메서드나 속성을 찾을 수 없음
후호 호환성이 없는 ・의도하지 않고 소실해 버린 등의 경우는, 부득이하게 다운그레이드가 필수가 되어 오는 경우가 있습니다.
NuGet 패키지
다운그레이드한 후 "파일 또는 어셈블리(패키지 이름) 또는 종속성 중 하나를 로드할 수 없습니다. 발견된 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다."와 같은 오류 메시지가 나타날 수 있습니다. 있습니다. 이 경우 web.config에서 지정한 패키지 리디렉션이 잘 수정되지 않은 경우가 많습니다.
Web.config<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
그렇다면 이전 버전은 버전 11.0.0으로 리디렉션됩니다. 다운 그레이드하는 경우 당연히 11.0.0 DLL이 없기 때문에 오류가 발생합니다.
리디렉션을 지정하는 부분을 설치한 버젼으로 지정해 주는 것으로 이것은 회피할 수 있습니다.
Web.config<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-9.0.1.0" newVersion="9.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Reference
이 문제에 관하여(ASP.NET에서 다운 그레이드 한 후 발생하는 오류 (찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다.)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keymoon/items/289dfe4af857cf54e25b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-9.0.1.0" newVersion="9.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Reference
이 문제에 관하여(ASP.NET에서 다운 그레이드 한 후 발생하는 오류 (찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다.)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keymoon/items/289dfe4af857cf54e25b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)