Метод не найден: '!! 0 [] System.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

В первый раз это происходит со мной, поэтому я застрял в данный момент

Ответ 1

У меня была такая ситуация на производственном сервере, пока на машине разработки все было в порядке.

Установка .NET Framework 4.6 на целевой машине устранила проблему.

Ответ 2

Извините за опоздание на вечеринку, но в случае, если кто-то другой получит эту проблему через сборку TeamCity, я могу описать, что мы должны были сделать.

.NET 4.6 был установлен на нашем сервере сборки (но не на сервере приложений), а RunnerType был Visual Studio (sln), а опция Visual Studio была установлена ​​на 2015 год.

Это заставило сборку использовать 4.6, и мне нужно было изменить параметр Visual Studio на 2013, чтобы заставить сборку использовать 4.5.2

Ответ 3

Просто для других, столкнувшихся с этой ситуацией:

если вы посмотрите в файле web.config, вы поймете, что в теге <compilation> у вас есть значение targetFramework, установленное в версии ниже 4.6. но на самом деле во время сборки вы опубликовали свое приложение через .NET FrameWork 4.6 или выше (соответствует ASP.NET MVC 4.6 и выше).

Итак, если вы измените значение targetFramework на 4.6, ошибка изменит форму на:

Атрибут 'targetFramework' в настоящее время ссылается на версию, которая позже установленной версии .NET Framework.

это реальная ошибка, и вы избавитесь от нее, установив соответствующую версию .NET Framework в производственную среду вашего веб-приложения.

Ответ 4

Я пробую это решение без успеха.

Решение для меня было в пуле приложений, превратилось в 2.0, запустил сайт в браузере, посмотрел ошибку (потому что версия неверна) и вернулась к 4.0 и "вуаля", я получил ее, на веб-сайте открыто.

Ответ 5

В моем случае у меня была коррумпированная установка .NET на моем Windows Server 2012 R2. Мне пришлось установить более новую версию .NET(v4.7.1), и сайт теперь работает.

Ответ 6

В моем случае у меня нет доступа к самому IIS, и у меня возникла эта проблема, когда я использовал единственный метод, который не имеет ничего особенного, только вещи из.net 2.

Решение: я извлек этот метод и создал библиотеку классов с.net 2.0, и она работает.

Ответ 7

Может быть, слишком поздно, но я получил ту же проблему и исправил, как показано ниже. Я использую Visual Studio 2015, компиляция конфигурации в web.config по умолчанию указывает на.NET FrameWork 4.6. Я не мог просто редактировать только файл web.config. Если вы не можете установить.NET FrameWork 4.6 на сервер и ваше приложение не использует его.

  1. Перейдите в меню "Отладка"> "[Имя проекта] Свойства"> "Приложение".
  2. выберите.NET Framework 4.5 (или любой сервер, поддерживающий и совместимый с вашим приложением) из раскрывающегося списка Target Framwork.
  3. Восстановите снова.

Ответ 8

Я понизил 4.6.x до 4.5.2, и он работал нормально.

Ответ 9

Обновление до.NET 4.6 сделало свое дело! (Большое спасибо, Андрей Коваленко!)