asp.netwebapi 실행 시 버전 4.0에서 4.5.1로 업그레이드 시 발생한 문제 및 해결
변경net 런타임 버전 이후 다음 구성 요소를 새로 고쳐야 한다는 오류 메시지가 표시됩니다.
EntityFramework,
EntityFramework.zh-Hans,
Microsoft.AspNet.Mvc,
Microsoft.AspNet.Mvc.zh-Hans,
Microsoft.AspNet.Razor,
Microsoft.AspNet.Razor.zh-Hans,
Microsoft.AspNet.WebApi.Client,
Microsoft.AspNet.WebApi.Client.zh-Hans,
Microsoft.AspNet.WebApi.Core,
Microsoft.AspNet.WebApi.Core.zh-Hans,
Microsoft.AspNet.WebApi.WebHost,
Microsoft.AspNet.WebApi.WebHost.zh-Hans,
Microsoft.AspNet.WebPages,
Microsoft.AspNet.WebPages.zh-Hans,
Microsoft.Net.Http,
Newtonsoft.Json
업데이트하는 방법은 다음과 같습니다.
vs에서 도구 = > nuget 패키지 관리자 = > 패키지 관리자 컨트롤러를 열고 다음 업데이트 명령을 한 줄 한 줄 입력하십시오.
Update-Package Microsoft.AspNet.WebApi -Version 5.2.2 # Update-Package Microsoft.AspNet.WebApi.Client.zh-Hans -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.Core.zh-Hans -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.WebHost.zh-Hans -Version 5.2.2 Update-Package EntityFramework -Version 6.0.1 Update-Package EntityFramework.zh-Hans -Version 6.0.1 Update-Package Microsoft.AspNet.Mvc -Version 5.2.2 Update-Package Microsoft.AspNet.Mvc.zh-Hans -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.HelpPage -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.OData -Version 5.2.2 Update-Package Microsoft.AspNet.WebApi.Tracing -Version 5.2.2
위 패키지의 버전 번호는 vs 2013의 웹api 프로젝트 템플릿의 버전 번호를 참조합니다.다음은 프로젝트 템플릿으로 생성된 패키지입니다.config 파일의 내용:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net451" />
<package id="AutoMapper" version="4.0.0" targetFramework="net451" />
<package id="bootstrap" version="3.0.0" targetFramework="net451" />
<package id="jQuery" version="1.10.2" targetFramework="net451" />
<package id="log4net" version="2.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Cors" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net451" />
<package id="Microsoft.AspNet.Web.Optimization.zh-Hans" version="1.1.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Cors" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.2" targetFramework="net451" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
<package id="Modernizr" version="2.6.2" targetFramework="net451" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net451" />
<package id="Respond" version="1.2.0" targetFramework="net451" />
<package id="WebGrease" version="1.5.2" targetFramework="net451" />
</packages>
이 가방을 도입하는 과정에서 vs 리셋을 알릴 수 있습니다 vs 리셋을 요청합니다.
오류: "메타데이터 파일을 찾을 수 없습니다."
패키지를 업데이트한 후 다시 컴파일하면 '메타데이터 파일을 찾을 수 없음' 이 나타날 수 있습니다.
해결 방법은 잘못된 항목을 찾은 다음 잘못된 인용 항목을 제거한 다음 다시 인용하는 것이다.
오류: 미리 정의된 유형 "Microsoft.CSharp.RuntimeBinder.Binder"가 정의되지 않았거나 가져오지 않은 오류
다시 컴파일하면 미리 정의된 유형 "Microsoft.CSharp.RuntimeBinder.Binder"가 정의되지 않았거나 가져오지 않았음을 알리는 오류가 발생할 수 있습니다. 해결 방법은 다음과 같습니다.
(1) 프로젝트 파일 (접미사 이름.csproj) 을 수첩으로 열고
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
(2) 프로젝트 파일을 저장한 다음 프로젝트 파일을 다시 불러옵니다.
오류: [A]System.Web.WebPages.Razor.Configuration.HostSection을 [B]시스템으로 강제로 변환할 수 없습니다.Web.WebPages.Razor.Configuration.HostSection.
이 문제가 발생한 이유는 설정 파일에서 라조르와 관련된 버전 번호가 맞지 않기 때문입니다.해결 방법은 다음과 같습니다.
(1) 웹.config의
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
</appSettings>
다음으로 변경:
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
</appSettings>
(2) Views 폴더 아래의 웹.config의
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
다음으로 변경:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
참조 자료:
A quick tutorial on the Update-Package command
Reinstalling Packages and its Pitfalls
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.