2017-12-19 24 views
-1

ASP.NET Core MVC 프로젝트를 개발하는 과정에서 여러 번이 예외가 발생했습니다.ASP.NET Core TypeLoadException 'System.Web'어셈블리에서 'System.Web.PreApplicationStartMethodAttribute'형식을로드 할 수 없습니다.

MVC 컨트롤러로 다시 게시 할 때 발생합니다. 의는 뷰 모델은 다음과 같습니다 가정 해 봅시다 :

using System.Web; 

namespace MyNamespace 
{ 
    public class MyViewModel 
    { 
     public List<SelectListItem> MyOptions { get; set; } 
    } 
} 

및 뷰의 헤더 (보기를 가정하는 것은 형태와 거기에 다시 게시가)이 다시 POST에 언급 한 바와 같이이

@model MyNamespace.MyViewModel 

포함 예외가 throw됩니다. 요청을 처리하는 동안

되지 않은 예외가 발생했습니다. TypeLoadException : 'System.Web, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'어셈블리에서 'System.Web.PreApplicationStartMethodAttribute'형식을로드 할 수 없습니다. System.ModuleHandle.ResolveType 디버깅 몇 시간 후

+3

'System.Web' =>'ASP.NET'; 'Microsoft.AspNetCore' =>'ASP.NET Core'. ** 그들을 섞지 마십시오 **. –

답변

-2

(RuntimeModule 모듈 typeToken,을 IntPtr * typeInstArgs, INT의 typeInstCount,을 IntPtr * methodInstArgs, INT의 methodInstCount, ObjectHandleOnStack 타입 INT), 용액은 밝혀졌다 잘못된 using 문.

:

SelectListItem은 간단히 다음과 같은 수정에 문제를 using 문을 변경 System.Web

에서 참조 할 때 .NET 핵심이 몇 가지 요소를 지원하지 않습니다, 그러나 모두 System.WebMicrosoft.AspNetCore.Mvc.Rendering

에 존재

using Microsoft.AspNetCore.Mvc.Rendering; 

이것은 다른 유형에서 발생하기 쉽기 때문에 ASP.NET Core MVC에서 이상한 오류가 발생하는 경우 사용을 확인하는 것이 좋습니다. System.Web에 대한 진술.