ไม่พบ Namespace System.Windows.Media?


86

ฉันใช้ออบเจ็กต์จาก API ของบุคคลที่สามที่มีคุณสมบัติเป็นประเภทSystem.Windows.Media.ImageSourceแต่ดูเหมือนว่าจะหาเนมสเปซ System.Windows.Media ไม่เจอเลย หากฉันพยายามเพิ่มการอ้างอิงไปยังโครงการของฉันฉันไม่เห็นSystem.Windows.Mediaในรายการตัวเลือก โครงการของฉันกำหนดเป้าหมายเป็น. Net 3.5 ด้วย

ฉันต้องทำอย่างอื่นเพื่อให้สามารถเข้าถึงเนมสเปซนี้ได้หรือไม่


3
คำแนะนำเล็ก ๆ น้อย ๆ สำหรับทุกคนที่ Googling สิ่งนี้เหมือนที่ฉันทำเมื่อหลายวันก่อน: โครงการของคุณในโซลูชันของคุณอาจมีเป้าหมายกรอบงานที่แตกต่างกันดังนั้นหากคุณไม่พบข้อมูลอ้างอิงให้ตรวจสอบอีกครั้งเสมอว่าโครงการใดที่ไฟล์ที่คุณกำลังดูอยู่จริง และหากโครงการนั้นยังคงกำหนดเป้าหมายเป็น. NET เวอร์ชันเก่า
Akku

คำตอบ:


60

System.Windows.Media.Imagingnamespace เป็นส่วนหนึ่งของ PresentationCore.dll (ถ้าคุณกำลังใช้ Visual Studio 2008 แล้วการประยุกต์ใช้แม่แบบ WPF จะเพิ่มการอ้างอิงนี้โดยอัตโนมัติ) โปรดทราบว่าเนมสเปซนี้ไม่ใช่การรวมไลบรารี WIC โดยตรงแม้ว่าจะยังคงมีการใช้งานทั่วไปอยู่เป็นจำนวนมากและค่อนข้างชัดเจนว่าแมปเหล่านี้กับเวอร์ชัน WIC อย่างไร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคลาสในเนมสเปซนี้โปรดดู

http://msdn2.microsoft.com/en-us/library/system.windows.media.imaging.aspx


7
หากลิงก์นั้นตายหรือหากเพจถูกเปลี่ยนเส้นทางคำตอบนี้จะไร้ประโยชน์ ครั้งต่อไปโปรดมีคำตอบที่แท้จริงในคำตอบของคุณเช่น @ MegaMilivoje's
leetNightshade

6
เราจะรู้ได้อย่างไรว่าเราต้องการ DLL อะไรในกรณีเหล่านี้ ลิงก์ไม่มีการพูดถึง DLL หรือแม้แต่คำว่า "การนำเสนอ" คำตอบของคุณใช้ได้ผล แต่ยังไม่ชัดเจนว่าเราจะแก้ปัญหานี้ได้อย่างไรโดยไม่ต้องขอความช่วยเหลือ
กาด

90

คุณควรเพิ่มการอ้างอิงถึง PresentationCore.dll


5
จะจำข้อมูลอ้างอิงหรือแก้ปัญหาประเภทนี้ได้อย่างไรเมื่อไม่มีอินเทอร์เน็ต?
Anirban Nag 'tintinmj'

9
ฉันลงคะแนนคำตอบนี้เพราะสำหรับมือใหม่ (เช่นฉัน) ฉันไม่รู้ว่าไฟล์นั้นจะอยู่ที่ไหน
ยอห์น

2
คำตอบที่ดีที่สุดจนถึงตอนนี้ นอกจากนี้ฉันไม่รู้ว่ามีแถบค้นหาที่ด้านบนสุดของหน้าต่างแสดงความคิดเห็นที่นี่ฉันกำลังเลื่อนดูเพื่อพยายามค้นหาสิ่งที่จะเพิ่มในการอ้างอิง ขอบคุณที่ชี้ให้เห็น!
ชาดก

ใช่นี่คือสิ่งที่ต้องทำ แต่คำตอบของ Mehmedov ทำให้ฉันได้รับการโหวตตั้งแต่เขาบอกฉันว่ามันอยู่ที่ไหน ไม่ชัดเจนโดยวิธีใด ๆ นอกจากนี้ยังมี PresentationCore.dll ในโฟลเดอร์ทุกเวอร์ชันของ. NET framework ดูในโครงการของคุณก่อนเพื่อดูว่าคุณกำลังใช้กรอบงานใด (4.5, 4.6. 4.61 ฯลฯ )
JustJohn

เพิ่มการอ้างอิงถึงสถานที่ใด?
Vitaly Zdanevich

36

เพิ่มPresentationCore.dllในการอ้างอิงของคุณ URL dll นี้ในพีซีของฉัน - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll


16

สำหรับVisual Studio 2017

ค้นหา "การอ้างอิง" ในตัวสำรวจโซลูชัน

คลิกขวาที่ "การอ้างอิง"

เลือก "เพิ่มข้อมูลอ้างอิง ... "

ค้นหารายการ "Presentation.Core" และเลือกช่องทำเครื่องหมาย

คลิกตกลง


จากนั้นฉันต้องเพิ่มWindowsBase.dllจากไดเรกทอรีเดียวกัน
Andrei Krasutski

มีแพ็คเกจ nuget หรือไม่?
Demodave

จะอยู่ภายใต้ "Assemblies" btw
Tracy Moody
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.