Creé una nueva aplicación con VS 2015 RC y la plantilla MVC y sin modificar ninguna línea de código tengo este error:
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
La primera vez me pasa, así que estoy atrapado en este momento
c#
asp.net
asp.net-mvc
asp.net-mvc-3
Luis Valencia
fuente
fuente
Respuestas:
Tuve esta situación en el servidor de producción mientras estaba en la máquina de desarrollo, todo estaba bien.
La instalación de .NET Framework 4.6 en la máquina de destino ha solucionado el problema.
fuente
Perdón por llegar tarde a la fiesta, pero en caso de que alguien más tenga este problema a través de una compilación de TeamCity, puedo describir lo que tuvimos que hacer.
.NET 4.6 se instaló en nuestro servidor de compilación (pero no en el servidor de aplicaciones), y RunnerType fue Visual Studio (sln) y la opción Visual Studio se configuró en 2015.
Esto obligó a la compilación a usar 4.6, y necesitaba cambiar la opción de Visual Studio a 2013 para forzar la compilación a usar 4.5.2
fuente
Solo para otros que enfrentan esta situación:
si busca en el archivo web.config, se dará cuenta de que en la
<compilation>
etiqueta tiene el valortargetFramework
establecido en una versión inferior a 4.6. pero, de hecho, en el momento de la compilación publicó su aplicación a través de .NET FrameWork 4.6 o superior (corresponde a ASP.NET MVC 4.6 y superior).Entonces, si cambia el valor de
targetFramework
a 4.6, el error cambiará de forma a:este es el error real y lo eliminará instalando la versión adecuada de .Net FrameWork en el entorno de producción de su aplicación web.
fuente
La actualización de .NET Framework a su última versión (4.7.2) resolvió el problema. Gracias a @Andrey Kovalenko por la solución.
Pero no debería ser el error como,
No estoy seguro de decirle a cada cliente sobre la actualización de su .NET Framework es aplicable. Tuve este problema especialmente en el sistema instalado Windows Embedded OS , solo en el entorno de producción.
¿Hay alguna otra forma de superar el comportamiento, desde nuestra propia base de código?
fuente
Intento estas soluciones sin éxito.
La solución para mí fue ir al grupo de aplicaciones, pasar a 2.0, ejecutar el sitio en el navegador, ver el error (porque la versión es incorrecta) y volver a 4.0 y "voilà", lo tengo, el sitio web abierto.
fuente
Tal vez sea demasiado tarde, pero tuve el mismo problema y lo solucioné como a continuación. Uso Visual Studio 2015, la compilación de configuración en web.config apunta a .NET FrameWork 4.6 de forma predeterminada. No podía editar solo en el archivo web.config. Si no puede instalar .NET FrameWork 4.6 en el servidor y su aplicación no lo usa.
fuente
En mi caso, tuve una instalación corrupta de .NET en mi Windows Server 2012 R2. Tuve que instalar una versión más reciente de .NET (v4.7.1) y el sitio funciona ahora.
fuente
En mi caso, no tengo acceso al IIS en sí y estaba teniendo este problema cuando estaba usando un método único que no tiene nada especial, solo cosas de .net 2.
La solución: extraje ese método y creé una biblioteca de clases con .net 2.0 y funciona.
fuente
He degradado 4.6.xa 4.5.2 y funcionó bien.
fuente