Saya mulai mengembangkan ASP.NET lagi dan saya mengalami kesalahan kecil dalam Visual Studio. File .cshtml saya menunjukkan kesalahan saat menggunakan beberapa fungsi pisau cukur. Misalnya "Nama 'ViewBag' tidak ada dalam konteks saat ini". Ini gambarnya:
Saya menggunakan proyek demo. Anda dapat menemukan proyeknya di sini: https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject
Saya telah melihat-lihat beberapa utas lain dan paling menyarankan untuk memperbarui file web.config. 2 file konfigurasi ini sudah ada dan karena ini adalah demo yang cukup populer, saya menganggapnya memiliki semua konfigurasi yang diperlukan di dalamnya. Saya tentu saja telah melihat-lihat file konfigurasi ini dan mereka memang menyertakan solusi yang disarankan.
Detail lainnya:
- Saya telah menggunakan bersihkan & bangun kembali pada solusi tetapi itu tidak mengubah apa pun.
- Ketika saya membuat proyek MVC yang benar-benar baru, itu berfungsi
- Teman saya memiliki masalah yang sama dan kami berdua menggunakan VS 2015 dan Windows 10
- Saya masih dapat menjalankan aplikasi dan berhasil.
Terima kasih sebelumnya.
sumber
Jawaban:
Saya mengalami masalah ini meskipun memiliki semua konfigurasi yang benar.
Ternyata ada beberapa file buruk di Cache Komponen, mencegah tampilan Razor mengenali ViewBag, Model, dan HtmlHelpers . Menghapus file-file ini memecahkan masalah (versi yang bagus dari file-file ini dibuat saat saya membuka Visual Studio).
File-file tersebut ada di sini:
Hapus keempat file:
Saya kemudian melihat masalah yang sama di beberapa mesin pengembang lain dan perbaikan ini dengan cepat menyelesaikannya.
sumber
Perbarui nomor versi dalam pengaturan
web.config
file di folder Tampilan.Jika Anda telah mengupdate versi MVC melalui nuget, seharusnya:
Versi ketergantungan lainnya mungkin perlu diperbarui juga. Masalah kompilasi dan namespace di Views untuk MVC pembantu dan objek biasanya terkait dengan
web.config
file yang kacau dalam folder View.sumber
4.0.0.0
, saya dapat melihatnya dari properti. Apa yang harus diperbaiki dalam kasus saya?*.cshtml
dan*.vbhtml
file Anda dan bersihkan & bangun kembali solusinya. VS 2019 16.1.2Temukan "halaman web: Versi" di setelan aplikasi dan perbarui ke versi 3.0.0.0. Web.config saya punya
dan saya memperbaruinya menjadi
sumber
Temporary ASP.NET Files
) tidak membantu, tetapi jawaban ini membantu .Saya tidak sengaja menghapus
web.config
dariViews
folder, berpikir bahwa itu tidak perlu. Ketika saya mengembalikannya, itu mulai bekerja.sumber
Setelah mencoba segala sesuatu di bawah matahari, ternyata sesuatu yang telah dimodifikasi saya
System.Web.WebPages.Razor
<sectionGroup>
di/Views/Web.Config
dari CamelCase yang tepatSystem.Web.WebPages.Razor
untuk semua-huruf kecilsystem.web.webpages.razor
yang pada akhirnya adalah kematian saya.Berharap ini dapat membantu beberapa jiwa malang lainnya dengan masalah ini ...
Sebagai referensi, ini adalah entri yang benar (untuk skenario saya)
sumber
Terkadang tidak cukup hanya mengubah nomor versi dalam pengaturan web.config. Masalah ini terjadi karena Visual Studio 2015 tidak memiliki perkakas mvc4.
Solusinya adalah meningkatkan proyek Anda ke MVC 5. Ini benar-benar menyelesaikan masalah. Anda bisa mendapatkan bantuan dari halaman ini. Itu menjelaskannya dengan jelas.
http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web- api-2
Dengan cara tim Visual Studio menyatakan mereka akan menambahkan dukungan mvc4 ke Visual Studio 2015 dengan pembaruan pertama.
sumber
Saya menghadapi masalah ini lebih sering dan akhirnya saya menemukan bahwa itu terjadi karena folder tampilan harus berisi itu adalah konfigurasi web sendiri
sumber
terlambat ke permainan tetapi tidak ada solusi yang berhasil untuk saya.
Saya memutakhirkan ke VS 2017, dan situs berfungsi, tetapi kompiler Visual Studio merusak sebagian besar file .cshtml
TLDR;
mysolution.sln memiliki versi yang salah
jadi Anda ingin membuat solusi baru dengan VS yang lebih baru dan membandingkannya dengan milik Anda dan menyalin info versi.
langkah-langkah peningkatan penuh:
sumber
Saya telah menyia-nyiakan lebih dari satu hari kerja untuk ini. Saya mencoba semuanya dalam posting ini (dan lainnya), tetapi tidak berhasil. Akhirnya saya menemukan bahwa saya perlu membuka proyek dengan cara yang berbeda. Saya baru saja memutakhirkan situs web yang ada ke Visual Studio 2015, MVC5, .NET framework 4.5.2 dan saya menggunakan Windows 10, tetapi curiga jawabannya akan sama untuk versi lain dari setiap aplikasi perangkat lunak.
Jadi ini adalah opsi menu yang saya pilih untuk membuka situs web:
Alih-alih ini, saya membuka file csproj yang mendefinisikan proyek menggunakan opsi menu ini:
Saya kemudian memiliki opsi "solusi bersih" yang dirujuk banyak orang lain:
Namun, saya bahkan tidak membutuhkan ini - semuanya bekerja begitu saja! Yah, bagaimanapun, saya melanjutkan ke rangkaian masalah berikutnya ...
sumber
Saya telah menambahkan pengontrol oleh
kode terkait dibuat:
Kesalahan saya diubah dengan mengubah Langkah 1 sebagai:
kode terkait dibuat:
Masalahnya adalah: Saya tidak mewarisi kelas saya dari Controller
Pesan lain dalam kesalahan saya termasuk - yang semuanya berasal dari masalah ini:
Semoga perubahan ini membantu mereka yang belum memperhatikan langkah awal mereka.
sumber
Setelah mencoba setidaknya 90% dari setiap solusi / trik dari subjek ini (dan lainnya), saya akhirnya menyelesaikannya !! Peringatan spoiler, tidak ada jejak logika yang disebut sebagai "solusi": Menjalankan solusi dengan semua tab ditutup akhirnya berhasil, ketika tidak ada lagi yang akan menyelamatkan saya "ViewBag & Co tidak ada dalam konteks saat ini" ... Anda telah diperingatkan, tidak ada logika yang aneh!
Berharap itu akan membantu seseorang suatu hari nanti ^^
sumber
Dalam kasus saya, saya mengalami masalah ini hanya di PC saya hanya untuk satu proyek. Proyek saya bekerja dengan baik di VS2012 tetapi ketika dibuka di VS2017 mengalami masalah ini.
Masalah utama saya di sini adalah cache. Proyek saya menunjuk ke versi cache dll yang lebih lama untuk Razor dan MVC dan tidak menemukan fitur yang ditambahkan di versi yang lebih baru, seperti ViewBag. ViewBag ditambahkan di Razor versi 3, tetapi karena saya memiliki cache Razor versi 2, ia tidak dapat menemukan ViewBag (tetapi dapat menemukan hal lain yang ada dalam versi 2). Namun, hanya membersihkan cache seperti dalam jawaban yang diterima tidak memperbaiki masalah saya. Kami harus mengubah file konfigurasi untuk mengatakan "gunakan versi 3 daripada 2" untuk Razor dan "gunakan versi 5 alih-alih 4" untuk MVC, lalu tutup VS, hapus cache, dan buka proyek dan pembangunan kembali. Kemudian semuanya diperbaiki. Di bawah ini adalah instruksi yang lebih detail.
Berikut urutan perubahan yang membantu saya memperbaiki masalah saya:
Inilah baris-baris itu dalam kasus saya:
(catatan: 1) versi Anda mungkin berbeda, saya hanya memberi tahu apa yang perlu dilakukan dalam kasus saya 2) Saya menghilangkan beberapa hal dengan "..." untuk singkatnya 3) bahkan jika Anda memiliki versi MVC seperti 5.3.2.0 Anda masih harus memasukkan 5.0.0.0, sama dengan versi Razor - masukkan semua nol di 3.0.0.0)
Dalam file konfigurasi utama (yang ada di tingkat atas) ubah
webPages:version
dari 2.0.0.0 menjadi 3.0.0.0.Perubahan ini mungkin tidak memengaruhi solusi tetapi saya masih akan menyebutkannya. Pastikan bahwa
<namespaces>
bagian folder "Views" memiliki konten yang sama persis dengan file .conifg utama di root proyek, seperti:%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
(atau apa pun jalur Anda yang benar) seperti yang disarankan dalam jawaban yang (saat ini) diterima oleh Fenton. Hapus juga.scan
file, meskipun tidak disebutkan dalam jawaban itu. Setelah Anda selesai, buka VS, Bersihkan proyek Anda dan Bangun kembali. Semuanya harus bekerja sekarang. Itu berhasil untuk saya.sumber
Mematikan dan menghidupkannya kembali berhasil untuk saya. Anda dapat mencoba memulai ulang studio visual.
sumber
Saya dapat mengatasi masalah ini dengan menambahkan yang berikut ini ke bagian atas halaman .cshtml saya
Setelah kompilasi ulang saya dapat menghapus baris ini dan kesalahannya hilang.
sumber
Saya menghadapi masalah serupa dengan salah satu pandangan saya. Dalam kasus saya, saya baru saja membersihkan solusinya dan mencoba membangunnya kembali dan kerjanya.
sumber
tautan berikut dapat membantu Anda.
Ini akan menunjukkan kepada Anda apa yang bisa menjadi masalahnya
itu memecahkan masalah saya. entah bagaimana saya telah menghapus file web.config saya dari folder tampilan.
sumber
Saya menghadapi masalah yang sama. Saya mencoba solusi Bersihkan, Bangun, dan Bangun Ulang, tetapi tidak berhasil untuk saya.
Jadi akhirnya saya lakukan seperti di bawah ini:
Semoga berhasil juga untuk kalian.
sumber
Setelah memutakhirkan salah satu aplikasi klien saya dari ASP MVC 4 ke ASP MVC 5, Kami mengalami kesalahan desainer terkait dengan Html Helpers dan ViewBag di halaman cshtml.
Untuk memperbaiki masalah tersebut pastikan Anda melakukan hal berikut: Menginstal Perpustakaan Pembantu Web Asp.NET dari Nuget Buka Web.config proyek dan perbarui pengikatan jika belum diperbarui saat menginstal paket Nuget misalnya
Temukan "halaman web: Versi" di setelan aplikasi dan perbarui ke versi 3.0.0.0. Web.config saya punya
dan saya memperbaruinya menjadi
Mulai ulang Visual Studio dan bangun kembali. Anda mungkin harus menghapus folder bin untuk proyek Anda
Kunjungi ini: https://lajak.wordpress.com/2014/11/16/asp-mvc-5-viewbag-does-not-exist-in-the-current-context/
sumber
Setelah mencoba semua yang lain dan merasa sedikit frustrasi, saya meningkatkan framework .NET di aplikasi MVC5 saya dari 4.5 menjadi 4.5.2. Entah bagaimana itu memperbaiki masalah saya. Semoga membantu.
sumber
Saya menyelesaikan mengganti di web.config
dengan
sumber