Method not found: '!!0[] System.Array.Empty()'

I created a new app with VS 2015 RC and the MVC template and without modifying any line of code I have this 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

First time it happens to me, so I am stuck at the moment


Solution 1:

I had this situation on the production server while on development machine everything was OK.

Installing .NET Framework 4.6 on the target machine has fixed the problem.

Solution 2:

Sorry for being late to the party, but in case someone else gets this problem via a TeamCity build, I can describe what we had to do.

.NET 4.6 was installed on our build server (but not on the application server), and the RunnerType was Visual Studio (sln) and the Visual Studio option was set to 2015.

This forced the build to use 4.6, and I needed to change the Visual Studio option to 2013 to force the build to use 4.5.2

Solution 3:

Just For others facing this situation:

if you look in the web.config file you will realize that in <compilation> tag you have the value targetFramework set to a version below 4.6. but in fact , at build time you published your application via .NET FrameWork 4.6 or above (Corresponds to ASP.NET MVC 4.6 and above).

So if you change the value of targetFramework to 4.6 the error will change shape into :

The 'targetFramework' attribute currently references a version that is later than the installed version of the .NET Framework.

this is the real error and you will get rid of it by installing appropriate Version of .Net FrameWork in production environment of your Web App.