ไม่มีชื่อ 'ViewBag' ในบริบทปัจจุบัน - Visual Studio 2015


100

ฉันเริ่มพัฒนาใน ASP.NET อีกครั้งและพบข้อผิดพลาดเล็กน้อยภายใน Visual Studio ไฟล์. cshtml ของฉันแสดงข้อผิดพลาดเมื่อใช้ฟังก์ชันมีดโกนบางอย่าง ตัวอย่างเช่น "ชื่อ" ViewBag "ไม่มีอยู่ในบริบทปัจจุบัน" นี่คือภาพ:

ภาพหน้าจอของปัญหาใน Visual Studio 2015

ฉันกำลังใช้โครงการสาธิต คุณสามารถค้นหาโครงการได้ที่นี่: https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject

ฉันได้ดูหัวข้ออื่น ๆ หลายหัวข้อและส่วนใหญ่แนะนำให้อัปเดตไฟล์ web.config ไฟล์กำหนดค่า 2 ไฟล์นี้มีอยู่แล้วและเนื่องจากเป็นเดโมยอดนิยมฉันจึงถือว่ามีการกำหนดค่าที่จำเป็นทั้งหมดในนั้น แน่นอนฉันได้ดูไฟล์กำหนดค่าเหล่านี้แล้วและพวกเขาก็รวมโซลูชันที่แนะนำไว้ด้วย

รายละเอียดอื่น ๆ:

  • ฉันใช้ clean & rebuild ในโซลูชันแล้ว แต่ไม่มีอะไรเปลี่ยนแปลง
  • เมื่อฉันสร้างโครงการ MVC ใหม่ทั้งหมดมันได้ผล
  • เพื่อนของฉันมีปัญหาเดียวกันและเราทั้งคู่ใช้ VS 2015 และ Windows 10
  • ฉันยังสามารถเรียกใช้แอปพลิเคชันได้และใช้งานได้

ขอบคุณล่วงหน้า.


เมื่อมันยังคงทำงานอยู่มันเป็นเพียงข้อผิดพลาดในคอมไพเลอร์พื้นหลัง ลองลบไฟล์ <Projectname> .suo
Henk Holterman

คุณกำลังดำเนินโครงการใดอยู่ ขั้นพื้นฐาน ? crud เส้นทาง?
Prashant Ghimire

1
@Henk น่าเสียดายที่ไม่ได้ผล
Michjuh

@Prashant ฉันได้ลองทั้งโครงการพื้นฐานและโครงการกำหนดเส้นทางแล้ว ปัญหาเกิดขึ้นในทั้งคู่
Michjuh

แก้แล้วหรือยัง? ฉันมีปัญหาเดียวกัน @Michjuh
Burk

คำตอบ:


124

ฉันมีปัญหานี้แม้ว่าจะมีการกำหนดค่าที่ถูกต้องทั้งหมด

มันกลับกลายเป็นบางไฟล์ที่ไม่ดีในแคชตัวแทนป้องกันไม่ให้มุมมองมีดโกนจากการตระหนักถึง ViewBag รุ่นและ HtmlHelpers การลบไฟล์เหล่านี้ช่วยแก้ปัญหาได้ (เวอร์ชันที่ดีของไฟล์เหล่านี้ถูกสร้างขึ้นในครั้งต่อไปที่ฉันเปิด Visual Studio)

ไฟล์อยู่ที่นี่:

%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache

ลบทั้งสี่ไฟล์:

  • Microsoft.VisualStudio.Default.cache
  • Microsoft.VisualStudio.Default.catalogs
  • Microsoft.VisualStudio.Default.err
  • Microsoft.VisualStudio.Default.external

ต่อมาฉันได้เห็นปัญหาเดียวกันในเครื่องของนักพัฒนาอื่น ๆ หลายเครื่องและการแก้ไขนี้จะแก้ปัญหาได้อย่างรวดเร็ว


9
เยี่ยมมากสิ่งนี้ช่วยแก้ปัญหาให้ฉันได้ ฉันยังพบว่าการลบไฟล์ ASP.NET ชั่วคราวของคุณยังช่วยได้ C: \ Users \ your.name.here \ AppData \ Local \ Temp \ Temporary ASP.NET ไฟล์
Kevin

นี่คือการแก้ไขสำหรับฉันเช่นกัน ขอบคุณสำหรับการโพสต์!
Caverman

สิ่งนี้แก้ไขปัญหาของฉันที่เกิดจากการอัปเกรด. net 4 เป็น 4.5.2 และอัปเกรด mvc 3 เป็น 5
Joe Phillips

ปัญหาของฉันคือคุณสมบัติของโมเดลของฉันไม่ได้รับการยอมรับ การแก้ไขนี้ช่วยแก้ปัญหาของฉันได้ทันที
jkerak

5
โฟลเดอร์ของฉันคือ 15.0_7e8de76c \ ComponentModelCache สำหรับ VS 2017
Kevin .NET

40

อัปเดตหมายเลขเวอร์ชันในการตั้งค่าของweb.configไฟล์ในโฟลเดอร์ Views

 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

หากคุณอัปเดตเวอร์ชัน MVC ผ่าน nuget ควรเป็น:

 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

อาจต้องอัปเดตเวอร์ชันอ้างอิงอื่น ๆ ด้วย ปัญหาการคอมไพล์และเนมสเปซใน Views สำหรับตัวช่วย MVC และออบเจ็กต์มักเกี่ยวข้องกับweb.configไฟล์ที่ยุ่งเหยิงภายในโฟลเดอร์ View


9
สิ่งนี้ใช้ได้ผลสำหรับฉันแม้ว่าฉันจะต้องป้อนหมายเลขเวอร์ชัน 5.2.0.0 แทน 5.2.2.0 คุณสามารถดูเวอร์ชันที่คุณมีได้โดยไปที่การอ้างอิง> System.Web.MVC และเลือกคุณสมบัติ ขอบคุณสำหรับความช่วยเหลือ
user2233949

@ user2233949, @Benjamin ฉันใช้เวอร์ชัน MVC 4.0.0.0ฉันสามารถดูได้จากคุณสมบัติ สิ่งที่ควรแก้ไขในกรณีของฉันคืออะไร?
Zeeshan

ตรวจสอบไฟล์ web.config ทั้งหมดของคุณและตรวจสอบว่าไฟล์ทั้งหมดใช้เวอร์ชันโฮสต์ที่ถูกต้อง บางครั้งเมื่อคุณได้ลบล้างการตั้งค่าในโฟลเดอร์มุมมองเกินปัญหาอาจหลุดลอยไปโดยไม่ได้รับการแก้ไข
Benjamin Anderson

1
ฉันลองทำตามคำแนะนำอื่น ๆ ทั้งหมด แต่ข้อนี้ใช้ได้กับฉันโดยใช้ 5.2.3.0 ขอบคุณ Benjamin
Mitch

1
นี่เป็นคำตอบที่ถูกต้องสำหรับฉัน นอกจากนี้หลังจากการเปลี่ยน web.config ไม่ลืมที่จะปิดทั้งหมดของคุณ*.cshtmlและ*.vbhtmlไฟล์และทำความสะอาดและสร้างการแก้ปัญหา VS 2019 16.1.2
ŠtěpánHavránek

22

ค้นหา "หน้าเว็บ: เวอร์ชัน" ใน appsettings และอัปเดตเป็นเวอร์ชัน 3.0.0.0 web.config ของฉันมีไฟล์

<add key="webpages:Version" value="2.0.0.0" />

และฉันอัปเดตเป็น

<add key=”webpages:Version” value=”3.0.0.0″ />

1
ฉันลบทั้งสองบรรทัด (
webpages.Version, webpages.Enabled

ควรอัปเดตใน Web.config ทั้งสองเวอร์ชันรูทโปรเจ็กต์และ Web.configs ของทุกพื้นที่ด้วย
Sonu K

ขอขอบคุณ. สำหรับกรณีของฉันแท็กที่มีปัญหาอยู่ภายใต้ <configuration> - <configSections> - <sectionGroup name = "system.web.webPages.razor"> ฉันต้องเปลี่ยน <sectionGroup name = "system.web.webPages.razor">, <section name = "host"> และ <section name = "pages"> เพื่อใช้เวอร์ชัน = 3.0.0.0
ฮง

ถอดได้ทุกที่แคช (รวมTemporary ASP.NET Files) ไม่ได้ช่วยแต่คำตอบนี้ได้
wha7ever

1
การตั้งค่านี้หมายความว่าอย่างไร มันสอดคล้องกับอะไร? คุณจะทราบได้อย่างไรว่าคุณต้องใช้เวอร์ชันใดในแอปของคุณ
jpmc26

18

ฉันลบออกweb.configจากViewsโฟลเดอร์โดยไม่ได้ตั้งใจโดยคิดว่ามันไม่จำเป็น พอใส่กลับเข้าไปมันก็เริ่มทำงาน


14

หลังจากลองทำทุกอย่างภายใต้แสงแดดปรากฎว่ามีบางอย่างได้ปรับเปลี่ยนSystem.Web.WebPages.Razor <sectionGroup>ในตัวฉัน/Views/Web.Configจาก CamelCase ที่เหมาะสมSystem.Web.WebPages.Razorเป็นตัวพิมพ์เล็กทั้งหมดsystem.web.webpages.razorซึ่งในที่สุดฉันก็ตาย

หวังว่านี่อาจช่วยคนยากจนคนอื่น ๆ ที่มีปัญหานี้ ...

สำหรับการอ้างอิงนี่คือรายการที่ถูกต้อง (สำหรับสถานการณ์ของฉัน)

<sectionGroup name="System.Web.WebPages.Razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 

3
ของฉันเป็นตัวพิมพ์เล็กทั้งหมด แต่ไม่สามารถแก้ปัญหาของฉันได้
Paul Totzke

ปลาคาร์พศักดิ์สิทธิ์ นี่เป็นความตายของฉันด้วย ไม่น่าเชื่อว่าคุณจะค้นพบสิ่งนี้ @jbwedtech
Luke Puplett

ฉันก็มีสิ่งเหล่านี้เป็นตัวพิมพ์เล็กและการเปลี่ยนเคสก็ไม่สามารถแก้ปัญหาได้
Andy Brown

6

ฉันประสบปัญหานี้หลายครั้งและในที่สุดฉันก็พบว่ามันเกิดขึ้นเนื่องจากโฟลเดอร์ของมุมมองควรมีการกำหนดค่าเว็บของตัวเอง


2
แต่สิ่งที่ควรจะอยู่ใน web.config นั้น? ไม่ควรสร้างอัตโนมัติหรือไม่ (อัปเดต)พบสิ่งที่ควรมีและวิธีสร้างstackoverflow.com/questions/29305914/…
drzaus

ใช่คุณพูดถูกในโครงการของฉัน Web.Config ไม่มีอยู่ก่อนหน้านี้ (ใช่ควรสร้างโดยอัตโนมัติ แต่รับโปรเจ็กต์จากผู้พัฒนาก่อนหน้านี้ไม่แน่ใจว่าทำไมเขาถึงลบมัน) หลังจากเพิ่มไฟล์ Web.Config สำหรับโฟลเดอร์ Views มันใช้งานได้
user3559462

5

บางครั้งการเปลี่ยนหมายเลขเวอร์ชันในการตั้งค่าของ web.config อาจไม่เพียงพอ ปัญหานี้เกิดขึ้นเนื่องจาก Visual Studio 2015 ไม่มีเครื่องมือ mvc4

วิธีแก้ไขคือการอัปเกรดโครงการของคุณเป็น MVC 5 มันช่วยแก้ปัญหาได้ทั้งหมด คุณสามารถขอความช่วยเหลือได้จากหน้านี้ มันอธิบายมันอย่างชัดเจน

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

โดยวิธีการที่ทีม Visual Studio ประกาศว่าจะเพิ่มการสนับสนุน mvc4 ให้กับ Visual Studio 2015 ด้วยการอัปเดตครั้งแรก


2

เล่นเกมช้า แต่วิธีแก้ปัญหาเหล่านี้ไม่ได้ผลสำหรับฉัน

ฉันอัปเกรดเป็น VS 2017 และไซต์ใช้งานได้ แต่คอมไพเลอร์ Visual Studio ทำลายไฟล์. chtml ส่วนใหญ่

TLDR;

mysolution.sln มีเวอร์ชันที่ไม่ถูกต้อง

sln diff

ดังนั้นคุณต้องการสร้างโซลูชันใหม่ด้วย VS ที่ใหม่กว่าและเปรียบเทียบกับของคุณและคัดลอกข้อมูลเวอร์ชัน

ขั้นตอนการอัปเกรดเต็ม:

  1. ตรวจสอบให้แน่ใจว่าไฟล์. sln มีเวอร์ชันที่ถูกต้องสำหรับ VS
  2. คลิกขวาที่ MySolution ใน VS> Nuget Manager> Updates> เรียกใช้การอัปเดตทั้งหมด
  3. คลิกขวาที่ MySolution ใน VS> Application> อัปเดต Target Framework (4.5.2 ในกรณีของฉัน)
  4. แก้ไขปัญหาเวอร์ชันใด ๆ ในไฟล์. config (เช่น RAZOR ถึง 3.0.0.0)
  5. แก้ไขปัญหาโค้ดในคอมไพเลอร์ (สำหรับฉัน ForEach คลุมเครือ)

โครงการของฉันเริ่มต้นใน VS2013 เมื่อฉันเข้าสู่ VS2017 ฉันเริ่มเห็นข้อผิดพลาดเหล่านี้ แต่ทุกอย่างยังคงอยู่ดังนั้นฉันจึงพยายามคิดว่าเกิดอะไรขึ้น แต่ก็ไม่ยากเกินไป มันกลายเป็นปัญหาเนื่องจากการเปิดมุมมองทำให้เกิดข้อผิดพลาดจำนวนมาก ตอนนี้ฉันใช้ VS2019 และสะดุดกับการแก้ไขของคุณ คุณร็อค! .sln ของฉันมี 14.0.25123.0 และจะเป็น 16.3.9 ฉันยังแก้ไขปัญหาเวอร์ชันใด ๆ กับเฟรมเวิร์ก ฉันไม่จำเป็นต้องอัปเดตแพ็คเกจ nuget (ขอบคุณ) เนื่องจากฉันไม่มีเวลาทดสอบการอัปเดตทั้งหมดอย่างเต็มที่
Zonus

1

ฉันเสียเวลากับการทำงานไปทั้งวัน ฉันลองทุกอย่างในโพสต์นี้ (และอื่น ๆ ) แล้ว แต่ก็ไม่มีประโยชน์ ในที่สุดฉันก็พบว่าฉันจำเป็นต้องเปิดโครงการด้วยวิธีอื่น ฉันเพิ่งอัปเกรดเว็บไซต์ที่มีอยู่เป็น Visual Studio 2015, MVC5, .NET framework 4.5.2 และกำลังใช้ Windows 10 แต่สงสัยว่าคำตอบจะเหมือนกันสำหรับแอปพลิเคชันซอฟต์แวร์แต่ละเวอร์ชัน

นี่คือตัวเลือกเมนูที่ฉันเลือกเปิดเว็บไซต์:

ป้อนคำอธิบายภาพที่นี่

แทนที่จะเป็นเช่นนี้ฉันเปิดไฟล์ csproj ที่กำหนดโครงการโดยใช้ตัวเลือกเมนูนี้:

ป้อนคำอธิบายภาพที่นี่

จากนั้นฉันก็มีตัวเลือก "โซลูชันที่สะอาด" ที่คนอื่น ๆ อ้างถึง:

ป้อนคำอธิบายภาพที่นี่

อย่างไรก็ตามฉันไม่ต้องการสิ่งนี้ด้วยซ้ำ - ทุกอย่างได้ผล! ฉันได้พบกับปัญหาชุดต่อไปแล้วล่ะค่ะ ...


1

ฉันได้เพิ่มตัวควบคุมโดย

  • ขั้นตอนที่ 1: เพิ่ม> คลาส
  • ขั้นตอนที่ 2: UserController
  • .
  • .
  • .

สร้างรหัสที่สอดคล้องกัน:

namespace SampleApp.Controllers
{
    public class UserController {
    }
}

ข้อผิดพลาดของฉันเปลี่ยนไปโดยเปลี่ยนขั้นตอนที่ 1 เป็น:

  • ขั้นตอนที่ 1: เพิ่ม> ตัวควบคุม
  • ขั้นตอนที่ 2: ตัวควบคุมผู้ใช้
  • .
  • .
  • .

สร้างรหัสที่สอดคล้องกัน:

namespace SampleApp.Controller {
    public class UserController : Controller {
    }
}

ปัญหาคือ: ฉันไม่ได้สืบทอดชั้นเรียนจาก Controller

ข้อความอื่น ๆ ในข้อผิดพลาดของฉันรวมอยู่ด้วยซึ่งทั้งหมดนี้มาจากปัญหานี้:

ข้อผิดพลาด CS0117: 'ModelState' ไม่มีคำจำกัดความสำหรับ 'IsValid'

ข้อผิดพลาด CS0103: ไม่มีชื่อ 'RedirectToAction' ในบริบทปัจจุบัน

ข้อผิดพลาด CS0103: ไม่มีชื่อ 'View' ในบริบทปัจจุบัน

ข้อผิดพลาด CS0103: ไม่มีชื่อ 'ViewBag' ในบริบทปัจจุบัน

ข้อผิดพลาด CS0103: ไม่มีชื่อ 'Json' ในบริบทปัจจุบัน

หวังว่าการเปลี่ยนแปลงนี้จะช่วยให้ผู้ที่ไม่ได้ให้ความสนใจในขั้นตอนแรก


1

หลังจากลองใช้วิธีแก้ปัญหา / เคล็ดลับในเรื่องนี้อย่างน้อย 90% (และอื่น ๆ ) ในที่สุดฉันก็แก้ไขได้ !! การแจ้งเตือนสปอยเลอร์ไม่มีร่องรอยของตรรกะดังต่อไปนี้ที่เรียกว่า "โซลูชัน": การเรียกใช้โซลูชันโดยปิดแท็บทั้งหมดในที่สุดก็ใช้งานได้เมื่อไม่มีสิ่งอื่นใดที่จะช่วยฉันได้ "ViewBag & Co ไม่มีอยู่ในบริบทปัจจุบัน" ... คุณได้รับการเตือนไม่มีตรรกะที่แปลกประหลาด!

หวังว่าสักวันมันจะช่วยใครสักคน ^^


1

ในกรณีของฉันฉันมีปัญหานี้เกิดขึ้นเฉพาะบนพีซีของฉันสำหรับโครงการเดียวเท่านั้น โครงการของฉันทำงานได้ดีใน VS2012 แต่เมื่อเปิดใน VS2017 พบว่ามีปัญหานี้

ปัญหาหลักสำหรับฉันที่นี่คือแคช โครงการของฉันชี้ไปที่ dll รุ่นเก่าที่แคชไว้สำหรับ Razor และ MVC และไม่พบคุณสมบัติที่เพิ่มในเวอร์ชันที่ใหม่กว่าเช่น ViewBag ViewBag ถูกเพิ่มใน Razor เวอร์ชัน 3 แต่เนื่องจากฉันมี Razor เวอร์ชัน 2 ที่แคชไว้จึงไม่พบ ViewBag (แต่สามารถค้นหาสิ่งอื่น ๆ ที่มีอยู่ในเวอร์ชัน 2 ได้) อย่างไรก็ตามการล้างแคชเหมือนในคำตอบที่ยอมรับไม่ได้ช่วยแก้ปัญหาของฉัน เราต้องเปลี่ยนไฟล์กำหนดค่าเพื่อบอกว่า "ใช้เวอร์ชัน 3 แทน 2" สำหรับ Razor และ "ใช้เวอร์ชัน 5 แทน 4" สำหรับ MVC จากนั้นปิด VS ลบแคชและเปิดโปรเจ็กต์และสร้างใหม่ จากนั้นสิ่งต่างๆได้รับการแก้ไข ด้านล่างนี้เป็นคำแนะนำโดยละเอียดเพิ่มเติม

นี่คือลำดับของการเปลี่ยนแปลงที่ช่วยฉันแก้ไขปัญหา:

  1. ใน Web.config ของโฟลเดอร์ "Views" เปลี่ยนตำแหน่งทั้งหมดที่
    • เวอร์ชัน MVC ถูกตั้งค่าเป็น 4.0.0.0 ถึง 5.0.0.0
    • รุ่น Razor ถูกตั้งค่าเป็น 2.0.0.0 ถึง 3.0.0.0

นี่คือบรรทัดเหล่านั้นในกรณีของฉัน:

<sectionGroup name="system.web.webPages.razor" type="... Version=3.0.0.0 ...">
    <section name="host" type="... Version=3.0.0.0 ..." .../>
    <section name="pages" type="... Version=3.0.0.0 ..." .../>
</sectionGroup>
...
<host factoryType="... System.Web.Mvc, Version=5.0.0.0 ..." />
...
<pages
    ...
    pageParserFilterType="... Version=5.0.0.0 ..."
    pageBaseType="... Version=5.0.0.0 ..."
    userControlBaseType="... Version=5.0.0.0 ...">
    <controls>
        <add assembly="... Version=5.0.0.0 ..." ... />
    </controls>
</pages>

(หมายเหตุ: 1) เวอร์ชันของคุณอาจแตกต่างออกไปฉันแค่บอกสิ่งที่ต้องทำในกรณีของฉัน 2) ฉันละเว้นบางสิ่งด้วย "... " เพื่อความกะทัดรัด 3) แม้ว่าคุณจะมีเวอร์ชัน MVC เช่น 5.3.2.0 คุณควรป้อน 5.0.0.0 เช่นเดียวกับเวอร์ชันของ Razor - ป้อนค่าศูนย์ทั้งหมดใน 3.0.0.0)

  1. ในไฟล์กำหนดค่าหลัก (ไฟล์ที่อยู่ระดับบนสุด) เปลี่ยนwebPages:versionจาก 2.0.0.0 เป็น 3.0.0.0

  2. การเปลี่ยนแปลงนี้อาจไม่มีผลต่อการแก้ปัญหา แต่ฉันจะยังคงพูดถึงมัน ตรวจสอบให้แน่ใจว่า<namespaces>ส่วนของโฟลเดอร์ "Views" มีเนื้อหาเหมือนกับไฟล์. config หลักที่รากของโปรเจ็กต์เช่น:

<namespaces>
    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />
</namespaces>
  1. สุดท้ายปิด VS. ลบไฟล์แคชทั้งหมดใน%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache(หรือเส้นทางที่ถูกต้องของคุณ) เช่นเดียวกับที่แนะนำใน (ปัจจุบัน) คำตอบที่ยอมรับโดย Fenton ลบ.scanไฟล์ด้วยแม้ว่าจะไม่ได้ระบุไว้ในคำตอบนั้นก็ตาม เมื่อคุณทำเสร็จแล้วให้เปิด VS ล้างโปรเจ็กต์ของคุณและสร้างใหม่ สิ่งต่างๆควรจะใช้งานได้แล้ว มันได้ผลสำหรับฉัน

0

การปิดและเปิดอีกครั้งใช้ได้ผลกับฉัน คุณสามารถลองรีสตาร์ท Visual Studio


ฟังดูเป็นคำตอบที่ตลก แต่นี่คือสิ่งที่คงที่สำหรับฉัน ยักไหล่
Douglas Timms

0

ฉันสามารถแก้ไขปัญหาได้โดยเพิ่มสิ่งต่อไปนี้ที่ด้านบนของหน้า. cshtml ของฉัน

@{ViewBag.Title = "Title";}

หลังจากคอมไพล์ใหม่ฉันสามารถลบบรรทัดนี้และข้อผิดพลาดก็หายไป


0

ฉันประสบปัญหาคล้าย ๆ กันกับมุมมองหนึ่งของฉัน ในกรณีของฉันฉันเพิ่งทำความสะอาดโซลูชันและพยายามสร้างใหม่และใช้งานได้



0

ฉันประสบปัญหาเดียวกัน ฉันลองใช้โซลูชัน Clean, Build และ Rebuild แล้ว แต่ไม่ได้ผลสำหรับฉัน

ในที่สุดฉันก็ทำดังนี้:

  1. กดWindows Key + R
  2. พิมพ์% temp%
  3. กดEnter
  4. ลบไฟล์ทั้งหมด (หากเหลือไม่กี่ไฟล์ยกเลิกการลบไม่มีปัญหา)

หวังว่ามันจะเหมาะกับพวกคุณเช่นกัน


0

หลังจากอัปเกรดแอปพลิเคชันไคลเอ็นต์ของฉันจาก ASP MVC 4 เป็น ASP MVC 5 เราพบข้อผิดพลาดของนักออกแบบที่เกี่ยวข้องกับ Html Helpers และ ViewBag ในหน้า cshtml

ในการแก้ไขปัญหาเหล่านั้นตรวจสอบให้แน่ใจว่าคุณได้ทำสิ่งต่อไปนี้: ติดตั้ง Asp.NET Web Helpers Library จาก Nuget เปิด Web.config ของโปรเจ็กต์และอัปเดตการผูกหากไม่ได้รับการอัปเดตเมื่อติดตั้งแพ็คเกจ Nuget เช่น

<dependentAssembly>
  <assemblyIdentity name=”System.Web.Mvc” publicKeyToken=”31bf3856ad364e35″ />
  <bindingRedirect oldVersion=”0.0.0.0-5.2.2.0″ newVersion=”5.2.2.0” />
</dependentAssembly>

ค้นหา“ หน้าเว็บ: เวอร์ชัน”ในการตั้งค่าแอปและอัปเดตเป็นเวอร์ชัน 3.0.0.0 web.config ของฉันมี

และฉันอัปเดตเป็น

รีสตาร์ท Visual Studio และสร้างใหม่ คุณอาจต้องลบโฟลเดอร์ bin สำหรับโปรเจ็กต์ของคุณ

ไปที่: https://lajak.wordpress.com/2014/11/16/asp-mvc-5-viewbag-does-not-exist-in-the-current-context/


-1

หลังจากลองทำทุกอย่างแล้วและรู้สึกหงุดหงิดเล็กน้อยฉันได้อัปเกรดกรอบงาน. NET บนแอป MVC5 จาก 4.5 เป็น 4.5.2 มันช่วยแก้ปัญหาของฉันได้ หวังว่าจะช่วยได้


-4

ฉันแก้ไขการแทนที่ใน web.config

 <add key="webpages:Enabled" value="false" />

ด้วย

 <add key="webpages:Enabled" value="true" />

เพียงเพื่อเพิ่มว่าเหตุใดสิ่งนี้จึงถูกโหวตลง - มันช่วยให้สามารถมองเห็นมุมมองจริงได้จากเบราว์เซอร์ที่ฉันเชื่อ
mtbennett
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.