ปัญหาเนมสเปซพร้อมมุมมอง MVC - เอ็นจิ้นมีดโกน

ฉันเพิ่มการอ้างอิงถึง System.Web.DataVisualization ในโครงการ MVC ของฉัน ตอนนี้เมื่อฉันพยายามเพิ่มเนมสเปซใน web.config ของฉัน ฉันได้รับข้อผิดพลาด

CS0234: ประเภทหรือชื่อเนมสเปซ 'DataVisualization' ไม่มีอยู่ในเนมสเปซ 'System.Web.UI' (คุณขาดการอ้างอิงแอสเซมบลีหรือไม่)

ดังนั้นฉันจึงลองใช้สิ่งเดียวกันในคอนโทรลเลอร์ของฉัน มันทำงานได้อย่างสมบูรณ์แบบ

using System.Web.UI.DataVisualization;

สิ่งเดียวกันนี้ควรจะได้ผลในมุมมองมีดโกนของฉัน

ดังนั้นฉันจึงลองใช้สิ่งนี้ในมุมมองมีดโกนของฉัน

@using System.Web.UI.DataVisualization;

สิ่งนี้ใช้งานไม่ได้อีกครั้งโดยทำให้ฉันมีข้อผิดพลาดเดียวกัน

เหตุใดฉันจึงสามารถใช้เนมสเปซในคอนโทรลเลอร์ของฉันและไม่สามารถใช้ในมุมมองของฉันได้

ฉันพลาดอะไรไปรึเปล่า...


person Sarath    schedule 26.02.2011    source แหล่งที่มา
comment
ซาราธ ฉันลองกับคุณแล้วและพบปัญหาเดียวกัน คุณจะค้นหา dll สำหรับโครงการของคุณได้อย่างไร ตัวฉันเองไม่เคยพบว่านี่เป็นส่วนหนึ่งของ. net   -  person    schedule 28.02.2011
comment
คอมโพเนนต์ System.Web.DataVisualization มาพร้อมกับ .Net 4.0   -  person Sarath    schedule 01.03.2011
comment
ฉันประสบปัญหาเดียวกันทุกประการ... ยังไม่มีวิธีแก้ไข   -  person David    schedule 16.03.2011
comment
ดูเหมือนแปลกที่ฉันสามารถเพิ่มเนมสเปซสำหรับคอนโทรลเลอร์ได้ แต่ไม่ใช่สำหรับมุมมอง   -  person Sarath    schedule 17.03.2011


คำตอบ (2)


หากคุณไปที่การอ้างอิงโครงการ ไปที่คุณสมบัติบน "System.Web.DataVisualization" จากนั้นตั้งค่า "CopyLocal" เป็นจริง จากนั้นคุณจะสามารถใส่

@using System.Web.UI.DataVisualization

ในมุมมองมีดโกนของคุณ

person dankorz    schedule 15.09.2011

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

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.UI.DataVisualization.Charting" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
person santiagoIT    schedule 28.02.2011
comment
ขอบคุณสำหรับการตอบกลับของคุณ. ฉันสงสัยว่ามันจะเกิดข้อผิดพลาดก็ต่อเมื่อคุณพยายามใช้สิ่งเดียวกันในมุมมองของคุณ หลังจากเพิ่มเนมสเปซแล้ว คุณลองใช้การควบคุมแผนภูมิในมุมมองมีดโกนของคุณหรือไม่? - person Sarath; 01.03.2011
comment
ไม่ ฉันไม่ได้ลองใช้มัน แต่ฉันได้ใช้ตัวช่วย WebGrid ในไซต์ที่ใช้งานจริงโดยไม่มีปัญหา ดูเหมือนว่าคุณได้รับข้อผิดพลาดด้านเวลาในการคอมไพล์ คุณได้รับข้อผิดพลาดขณะรันไทม์ใช่ไหม คุณเพิ่มเนมสเปซลงใน web.config ที่ถูกต้องตามที่แนะนำในคำตอบของฉันหรือไม่ - person santiagoIT; 01.03.2011
comment
ใช่ ฉันทำตามที่แนะนำในคำตอบของคุณก่อนที่จะโพสต์คำถาม ฉันแน่ใจว่าคุณอาจเคยใช้ WebGrid เพราะทั้งเว็บกริดและการสร้างแผนภูมิก็มีอยู่ภายใต้เนมสเปซ System.Web.Helpers การสร้างแผนภูมิภายใต้เนมสเปซ System.Web.Helpers มีฟังก์ชันการทำงานที่จำกัด และฉันต้องการใช้อันที่มีอยู่ภายใต้ System.Web.UI.DataVisualization แทน... นี่คือจุดที่เกิดปัญหานี้ - person Sarath; 02.03.2011