Saya membuat aplikasi baru dengan VS 2015 RC dan template MVC dan tanpa memodifikasi baris kode apa pun, saya mengalami kesalahan ini:
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
Pertama kali terjadi pada saya, jadi saya terjebak saat ini
c#
asp.net
asp.net-mvc
asp.net-mvc-3
Luis Valencia
sumber
sumber
Jawaban:
Saya mengalami situasi ini di server produksi sementara di mesin pengembangan semuanya baik-baik saja.
Menginstal .NET Framework 4.6 pada mesin target telah memperbaiki masalah.
sumber
Maaf karena terlambat ke pesta, tetapi jika orang lain mendapat masalah ini melalui build TeamCity, saya dapat menjelaskan apa yang harus kami lakukan.
.NET 4.6 diinstal di server pembuatan kami (tetapi tidak di server aplikasi), dan RunnerType adalah Visual Studio (SLN) dan opsi Visual Studio ditetapkan ke 2015.
Ini memaksa build untuk menggunakan 4.6, dan saya perlu mengubah opsi Visual Studio ke 2013 untuk memaksa build menggunakan 4.5.2
sumber
Hanya Untuk orang lain yang menghadapi situasi ini:
jika Anda melihat di file web.config Anda akan menyadari bahwa di
<compilation>
tag Anda memiliki nilai yangtargetFramework
ditetapkan ke versi di bawah 4.6. tetapi pada kenyataannya, pada saat pembuatan Anda menerbitkan aplikasi Anda melalui .NET FrameWork 4.6 atau lebih tinggi (Sesuai dengan ASP.NET MVC 4.6 dan yang lebih baru).Jadi jika nilai diubah
targetFramework
menjadi 4.6 error akan berubah bentuk menjadi:ini adalah kesalahan yang sebenarnya dan Anda akan menghilangkannya dengan menginstal Versi .Net FrameWork yang sesuai di lingkungan produksi Aplikasi Web Anda.
sumber
Memperbarui .NET Framework ke yang terbaru (4.7.2) menyelesaikan masalah. Terima kasih kepada @Andrey Kovalenko untuk solusinya.
Tapi seharusnya kesalahannya tidak seperti,
Saya tidak yakin memberi tahu setiap pelanggan tentang memperbarui .NET Framework mereka berlaku. Saya mengalami masalah ini terutama pada sistem yang diinstal Windows Embedded OS , hanya di lingkungan produksi.
Apakah ada cara lain untuk mengatasi perilaku tersebut, dari basis kode kita sendiri.?
sumber
Saya mencoba solusi ini tanpa hasil.
Solusi bagi saya adalah pergi ke pool aplikasi, putar ke 2.0, jalankan situs di browser, lihat kesalahan (karena versinya salah) dan kembali ke 4.0 dan "voilà", saya mengerti, situs web terbuka.
sumber
Mungkin sudah terlambat tapi saya mendapat masalah yang sama dan diperbaiki seperti di bawah ini. Saya menggunakan Visual Studio 2015, kompilasi konfigurasi di web.config mengarah ke .NET FrameWork 4.6 secara default. Saya tidak bisa hanya mengedit hanya di file web.config. Jika Anda tidak dapat menginstal .NET FrameWork 4.6 di server dan aplikasi Anda tidak menggunakannya.
sumber
Dalam kasus saya, saya memiliki penginstalan .NET yang rusak di Windows Server 2012 R2. Saya harus menginstal versi yang lebih baru dari .NET (v4.7.1) dan situs tersebut berfungsi sekarang.
sumber
Dalam kasus saya, saya tidak memiliki akses ke IIS itu sendiri dan saya mengalami masalah ini ketika saya menggunakan satu metode yang tidak memiliki sesuatu yang khusus hanya dari .net 2.
Solusinya: Saya telah mengekstrak metode itu dan membuat Perpustakaan Kelas dengan .net 2.0 dan berhasil.
sumber
Saya telah menurunkan versi 4.6.x menjadi 4.5.2 dan itu berfungsi dengan baik.
sumber