programing

메서드를 찾을 수 없습니다. '!0[] 시스템.Array. Empty()'

batch 2023. 4. 21. 20:22
반응형

메서드를 찾을 수 없습니다. '!0[] 시스템.Array. Empty()'

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으로 문제가 해결되었습니다.

파티에 늦어서 죄송하지만, 팀시티 빌드를 통해 다른 사람이 이 문제를 일으켰을 경우, 우리가 무엇을 해야 했는지 설명할 수 있습니다.

.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 이후).

이 값을 변경하면targetFramework4.6으로 에러의 쉐이프가 다음과 같이 바뀝니다.

'target Framework' 속성은 현재 설치된 버전의 이전 버전을 참조합니다.NET 프레임워크

이것은 실제 에러이며, 적절한 버전의 를 인스톨 하면 에러가 해소됩니다.넷 프레임웹 앱의 실가동 환경에서 작업합니다.

의 갱신.NET Framework는 최신 버전(4.7.2)까지 이 문제를 해결했습니다.해결을 위해 @Andrey Kovalenko에게 감사드립니다.

하지만 이런 실수가 있어서는 안 된다.

여기에 이미지 설명 입력

각 고객에게 업데이트에 대해 설명할 수 없습니다.NET Framework가 적용됩니다.특히 Windows Embedded OS가 설치되어 있는 시스템에서 이 문제가 발생한 것은 실제 가동 환경뿐입니다.

우리의 코드 베이스 자체에서 그 행동을 극복할 다른 방법이 있을까요?

나는 이 해결책을 시도했지만 성공하지 못했다.

해결방법은 어플리케이션풀에 접속하여 2.0으로 설정하고 브라우저 상에서 사이트를 실행한 후 (버전이 잘못되어 있기 때문에) 오류를 확인하고 4.0과 "voila"로 되돌리면 됩니다.그러면 웹 사이트를 열 수 있습니다.

너무 늦은 감이 있지만, 아래와 같은 문제가 발생하여 수정하였습니다.Visual Studio 2015를 사용하고 있습니다.web.config의 설정 컴파일은 을 가리킵니다.기본적으로는 NET FrameWork 4.6 입니다.web.config 파일에서만 편집할 수 없었습니다.를 인스톨 할 수 없는 경우.서버에서 NET FrameWork 4.6을 사용하고 있는 어플리케이션에서는 사용하지 않습니다.

  1. 메뉴 [Debug]> [ Project Name ]> [ Properties ]> [ Application ]으로 이동합니다.
  2. 를 선택합니다.[ Target Framwork ]드롭다운목록에서 [NET Framework 4.5](또는 사용하시는 어플리케이션과 호환되는 서버)를 선택합니다.
  3. 다시 빌드합니다.

저 같은 경우에는 부패가 있었습니다.Windows Server 2012 R2 에서의 NET 인스톨.의 최신 버전을 설치해야 했습니다.NET(v4.7.1) 및 사이트가 동작하고 있습니다.

제 경우 IIS 자체에 액세스할 수 없습니다.또한 .net 2의 특별한 기능이 없는 단일 방법을 사용했을 때 이 문제가 발생했습니다.

해결 방법:이 메서드를 추출하여 .net 2.0으로 클래스 라이브러리를 만들었습니다.

4.6.x를 4.5.2로 다운그레이드했는데 정상적으로 동작했습니다.

언급URL : https://stackoverflow.com/questions/31253747/method-not-found-0-system-array-empty

반응형