Unity.WebApi 버전 5.0.0.0을 사용하도록 ASP.NET MVC4 프로젝트를 방금 업그레이드했으며 다음 오류에 따라 System.Web.Http v 5.0.0.0이 필요합니다.
Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
현재 System.Web.Http v4.0을 참조하고 있지만 다음 NuGet 패키지를 각각의 최신 버전으로 업그레이드했습니다.
-
ANTLRv3
-
Microsoft ASP.NET 범용 공급자
-
Microsoft.Web. 인프라
-
Microsoft ASP.NET MVC
-
Microsoft ASP.NET 면도기
-
Microsoft ASP.NET 범용 공급자 핵심 라이브러리
-
Microsoft ASP.NET 범용 공급자
-
Microsoft ASP.NET 웹 API 2 클라이언트
-
Microsoft ASP.NET 웹 API 2 코어
-
Microsoft ASP.NET 웹 API 2 웹 호스트
-
Microsoft ASP.NET 웹 API 2
-
Microsoft ASP.NET 웹 페이지
-
Microsoft.Web. 인프라
-
Web 그리스
NuGet을 통해. Micrososft.jQuery.Unobtrusive Validation 등과 같은 관련 JavaScript 라이브러리를 나열하지 않았습니다.
System.Web.Http를 업그레이드하기위한 NuGet 패키지는 무엇입니까? 아니면 수동으로해야합니까?
답변
Microsoft.AspNet.WebApi.Core 패키지 가 필요합니다 .
.csproj 파일에서 볼 수 있습니다.
<Reference Include="System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
답변
솔루션에 여러 프로젝트가 있습니다. 일부 프로젝트의 경우 이전에 참조를 수동으로 추가했습니다. NuGet을 사용하여 WebAPI 패키지를 업데이트 할 때 해당 참조는 자동으로 업데이트되지 않았습니다.
솔루션의 Packages 폴더에있는 v5 DLL을 가리 키도록 다음 참조를 수동으로 업데이트 할 수 있음을 알았습니다.
- “NuGet 패키지 관리”로 이동
- 설치된 패키지 “Microsoft ASP.NET Web API 2.1″을 선택하십시오.
- 관리를 클릭하고 이전에 수동으로 추가 한 프로젝트를 확인하십시오.