내 .NET 프로젝트를 실행할 때 나는 다음과 같은 런타임 오류 복사 : GAC 의존성 및 NuGet을 사용할 수 없습니다NuGet 패키지 GAC 의존성
Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Microsoft.WindowsAzure.ServiceRuntime
, 내가 이해에서합니다.
내 .NET 프로젝트가 Azure SDK 2.5에서 ServiceRuntime 2.5.0.0을 참조하고 있습니다. 예외의 stacktrace는 우리의 커스텀 NuGet 패키지 중 하나가 2.4.0.0을 참조하고 있음을 보여줍니다.
NuGet 패키지의 의존성을 볼 때, 그것이 내가 그것이 GAC 참조 (NuGet 해결할 수없는 무엇인가)이기 때문에 가정 ServiceRuntime, 표시되지 않습니다 : 나는에 의해 발견
을 다음 web.config
변화를 추가, 지금 작동 : 2.5.0.0은 2.4.0.0 사양과 호환 경우
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.0.0" newVersion="2.5.0.0" />
</dependentAssembly>
나는 이것이에만 작동한다고 가정합니다.
질문 : 그것은 호환 아니었다면
- 는 어떻게 될까?
Microsoft.WindowsAzure.ServiceRuntime
이 NuGet 패키지가 아닌 이유는 무엇입니까?
Nuget은 제 3 자 라이브러리에만 해당되는 것은 아닙니다. Microsoft는 현재 1100 개 이상의 패키지가 포함 된 nuget (https://www.nuget.org/profiles/microsoft)에서 자체 피드를 제공합니다. –
MS는 Nuget을 통해 핵심 .Net 라이브러리를 제공하지 않으며 링크에 언급 된 라이브러리는 추가 기능을위한 선택적 라이브러리입니다. 대부분의 경우 타사 경쟁 업체가 있거나 현재 구현을 수정하기 위해 재정의 할 수 있습니다. –
링크 내가 언급 한, 당신은 핵심으로 간주 될 수있는 꽤 많은 라이브러리를 볼 수 있습니다. - MVC, WebApi, OData, Razor, Owin 및 EntityFramework. 하지만 확실한 점은 SDK의 일부를 설치해야한다는 것입니다. –