[asp.net-mvc] 보안 투명 메소드 ‘WebMatrix.WebData.PreApplicationStartCode.Start ()’에 의해 시도

업데이트 : mvc 4에서 mvc 5까지 동일합니다.

새로운 mvc 4 프로젝트를 시작하고 그 안에 mvc 3 프로젝트 (컨트롤러 / 모델 / 스크립트 등)를 마이그레이션했습니다. 모든 것이 지금 컴파일되는 동안 다음과 같은 오류가 발생합니다.

보안 투명 메소드 ‘WebMatrix.WebData.PreApplicationStartCode.Start ()’가 보안 중요 메소드 ‘System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport (System.String)’에 액세스하려는 데 실패했습니다.

이 오류로 웹에서 아무것도 찾을 수 없습니다. 응용 프로그램을 시작하기 전에 오류가 발생합니다.

nuget으로 모든 어셈블리를 다시 설치하여 ‘clean’web.config를 사용할 수 없었습니다.

아무도 전에이 문제가 있었습니까?



답변

나를 위해이 오류는 MVC 4에서 MVC 5로 업데이트 한 후 Microsoft.AspNet.WebHelpers가 설치되어 있지 않기 때문에 발생했습니다. NuGet 패키지를 설치하여 수정되었습니다.

Install-Package -Id  Microsoft.AspNet.WebHelpers


답변

오류가 발생하면

보안 투명 메소드 ‘WebMatrix.WebData.PreApplicationStartCode.Start ()’가 보안 중요 메소드 ‘System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport (System.String)’에 액세스하려는 데 실패했습니다.

이 문제를 해결하려면 NuGet 패키지 관리자를 사용하여이 패키지를 설치하십시오.

Install-Package Microsoft.AspNet.WebHelpers

그 후 아마도 다른 오류가 발생합니다.

WebMatrix.Data 버전 3.0.0.0 어셈블리를로드 할 수 없습니다

NuGet 패키지 관리자를 사용하여이 패키지를 설치하십시오.

Install-Package Microsoft.AspNet.WebPages.Data


답변

MVC 4에서 MVC5로 업그레이드하려고하는 사람은 http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade 의 지침에 따라이 문제를 해결할 수있었습니다 . -an-aspnet-mvc-4- 및 -web-api-project-to-aspnet-mvc-5-and-web-api-2 .

또한 nuget에서 “Microsoft.AspNet.WebApi.WebHost”패키지를 설치해야했습니다. 하지만 그게 다야.

아, 그리고 나는이 appSetting을 만들어야했다 : <add key="owin:AutomaticAppStartup" value="false" />

🙂


답변

web.config 컴파일 요소가 WebMatrix.Data 및 WebMatrix.WebData 버전 2.0.0.0을 참조한다는 것을 알 때까지 위의 모든 솔루션을 시도했지만 여전히 작동하지 않습니다. web.config에서 해당 항목의 버전을 3.0.0.0으로 변경하면 도움이되었습니다.


답변

로 업그레이드 mvc 4할 때 비슷한 문제로 어려움을 겪고 있습니다 mvc 5.

보안 투명 메소드 ‘System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule ()’에 의해 보안 중요 메소드 ‘System.Web.WebPages.ApplicationPart..ctor (System.Reflection.Assembly, System.String)’에 액세스하려는 시도가 실패했습니다.

게시 대화 상자의 추가 파일 삭제 확인란이 해결되었습니다.


답변

Microsoft.AspNet.WebHelpers나를 위해 다시 설치

Update-Package reinstall Microsoft.AspNet.WebHelpers


답변

한 가지 더 제안 … 이것은 배포 서버의 사이트 bin 폴더에서 MVC 5로 업그레이드 한 후 MVC 3 프로젝트의 일부 오래된 dll에 의해 발생했습니다. 이 dll을 더 이상 코드 기반에서 사용하지 않았지만 문제를 일으키는 것으로 보입니다. 모든 것을 정리하고 다시 배포했는데 괜찮 았습니다.