J'ai créé une nouvelle application avec VS 2015 RC et le modèle MVC et sans modifier aucune ligne de code, j'ai cette erreur:
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 première fois que ça m'arrive, donc je suis coincé en ce moment
c#
asp.net
asp.net-mvc
asp.net-mvc-3
Luis Valence
la source
la source
Réponses:
J'ai eu cette situation sur le serveur de production alors que sur la machine de développement, tout allait bien.
L'installation de .NET Framework 4.6 sur la machine cible a résolu le problème.
la source
Désolé d'être en retard à la fête, mais au cas où quelqu'un d'autre aurait ce problème via une version TeamCity, je peux décrire ce que nous devions faire.
.NET 4.6 a été installé sur notre serveur de build (mais pas sur le serveur d'applications), et le RunnerType était Visual Studio (sln) et l'option Visual Studio était définie sur 2015.
Cela a forcé la version à utiliser 4.6 et j'ai dû modifier l'option Visual Studio en 2013 pour forcer la version à utiliser la version 4.5.2
la source
Juste pour les autres confrontés à cette situation:
si vous regardez dans le fichier web.config, vous vous rendrez compte que dans
<compilation>
tag vous avez la valeurtargetFramework
définie sur une version inférieure à 4.6. mais en fait, au moment de la construction, vous avez publié votre application via .NET FrameWork 4.6 ou supérieur (correspond à ASP.NET MVC 4.6 et supérieur).Donc, si vous modifiez la valeur de
targetFramework
à 4,6, l'erreur changera de forme en:c'est la vraie erreur et vous vous en débarrasserez en installant la version appropriée de .Net FrameWork dans l'environnement de production de votre application Web.
la source
La mise à jour du .NET Framework vers sa dernière version (4.7.2) a résolu le problème. Merci à @Andrey Kovalenko pour la solution.
Mais l'erreur ne devrait-elle pas être comme,
Je ne suis pas sûr qu'informer chaque client de la mise à jour de son .NET Framework soit applicable. J'ai eu ce problème en particulier sur le système installé Windows Embedded OS , uniquement dans l'environnement de production.
Existe-t-il un autre moyen de surmonter le comportement, à partir de notre base de code elle-même.?
la source
J'essaye ces solutions sans succès.
La solution pour moi était d'aller au pool d'applications, de passer à 2.0, d'exécuter le site sur le navigateur, de voir l'erreur (car la version est erronée) et de revenir à 4.0 et "voilà", je l'ai, le site est ouvert.
la source
Peut-être que c'est trop tard mais j'ai eu le même problème et corrigé comme ci-dessous. J'utilise Visual Studio 2015, la compilation de configuration sur web.config pointe vers .NET FrameWork 4.6 par défaut. Je ne pouvais pas simplement modifier uniquement le fichier web.config. Si vous ne pouvez pas installer .NET FrameWork 4.6 sur le serveur et que votre application ne l'utilise pas.
la source
Dans mon cas, j'avais une installation .NET corrompue sur mon Windows Server 2012 R2. J'ai dû installer une version plus récente de .NET (v4.7.1) et le site fonctionne maintenant.
la source
Dans mon cas, je n'ai pas accès à l'IIS lui-même et j'ai eu ce problème lorsque j'utilisais une méthode unique qui n'a rien de spécial uniquement à partir de .net 2.
La solution: j'ai extrait cette méthode et créé une bibliothèque de classes avec .net 2.0 et cela fonctionne.
la source
J'ai rétrogradé la version 4.6.x à la version 4.5.2 et cela a bien fonctionné.
la source