VS 2015 RC 및 MVC 템플릿으로 새 앱을 만들었으며 코드 줄을 수정하지 않고이 오류가 발생했습니다.
Method not found: '!!0[] System.Array.Empty()'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.]
SAASApp.BundleConfig.RegisterBundles(BundleCollection bundles) in C:\Proyectos\SAASApp\SAASApp\App_Start\BundleConfig.cs:29
SAASApp.MvcApplication.Application_Start() in C:\Proyectos\SAASApp\SAASApp\Global.asax.cs:18
[HttpException (0x80004005): Method not found: '!!0[] System.Array.Empty()'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +483
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +350
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +305
[HttpException (0x80004005): Method not found: '!!0[] System.Array.Empty()'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +661
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +96
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +189
처음 나에게 일어난 일이라 그 순간에 갇혀
답변
나는 프로덕션 서버 에서이 상황을 겪었고 개발 시스템에서는 모든 것이 정상이었습니다.
대상 컴퓨터에 .NET Framework 4.6을 설치하면 문제가 해결되었습니다.
답변
파티에 늦어서 미안하지만 다른 사람이 TeamCity 빌드를 통해이 문제를 겪게 될 경우 우리가해야 할 일을 설명 할 수 있습니다.
.NET 4.6은 빌드 서버 (애플리케이션 서버가 아님)에 설치되었고 RunnerType은 Visual Studio (sln)이고 Visual Studio 옵션은 2015로 설정되었습니다.
이로 인해 빌드가 4.6을 사용하게되었고 빌드가 4.5.2를 사용하도록 강제하려면 Visual Studio 옵션을 2013으로 변경해야했습니다.
답변
이 상황에 직면 한 다른 사람들을 위해 :
web.config 파일을 보면 <compilation>
태그에 값 이 있음을 알 수 있습니다.targetFramework
4.6 미만으로 설정되어 . 그러나 실제로 빌드시 .NET FrameWork 4.6 이상 (ASP.NET MVC 4.6 이상에 해당)을 통해 애플리케이션을 게시했습니다.
따라서 값 targetFramework
을 4.6으로 변경하면 오류 모양이 다음과 같이 변경됩니다.
‘targetFramework’특성은 현재 설치된 .NET Framework 버전보다 이후 버전을 참조합니다.
이것은 실제 오류이며 Web App의 프로덕션 환경에 적절한 버전의 .Net FrameWork를 설치하여 제거합니다.
답변
.NET Framework를 최신 (4.7.2)으로 업데이트하면 문제가 해결되었습니다.
솔루션을 위해 @Andrey Kovalenko에게 감사드립니다.
그러나 오류가 다음과 같아서는 안됩니다.
각 고객에게 .NET Framework 업데이트가 적용 가능하다고 말하는지 잘 모르겠습니다. 특히 프로덕션 환경에서만 Windows Embedded OS가 설치된 시스템 에서이 문제가 발생했습니다 .
코드베이스 자체에서 동작을 극복 할 수있는 다른 방법이 있습니까?
답변
나는 성공하지 않고 이러한 솔루션을 시도합니다.
저를위한 해결책은 응용 프로그램 풀로 이동하여 2.0으로 설정하고 브라우저에서 사이트를 실행하고 오류를 확인하고 (버전이 잘못 되었기 때문에) 4.0으로 돌아가 “voilà”로 돌아가서 웹 사이트를 열었습니다.
답변
너무 늦었을 수도 있지만 동일한 문제가 발생하여 아래와 같이 수정되었습니다. Web.config 의 구성 컴파일 은 기본적으로 .NET FrameWork 4.6을 가리키는 Visual Studio 2015를 사용 합니다. web.config 파일에서만 편집 할 수는 없습니다. 서버에 .NET FrameWork 4.6을 설치할 수없고 응용 프로그램에서 사용하지 않는 경우.
- 디버그> [프로젝트 이름] 속성> 응용 프로그램 메뉴로 이동합니다.
- 대상 프레임 워크 드롭 다운 목록에서 .NET Framework 4.5 (또는 응용 프로그램을 지원하고 호환되는 서버)를 선택합니다.
- 다시 재건하십시오.
답변
제 경우에는 Windows Server 2012 R2에 손상된 .NET 설치가있었습니다. 최신 버전의 .NET (v4.7.1)을 설치해야했고 사이트가 현재 작동 중입니다.