Sie können den System.Windows.Media-Namespace nicht finden?

85

Ich verwende ein Objekt aus einer Drittanbieter-API mit einer Eigenschaft vom Typ System.Windows.Media.ImageSource, kann den System.Windows.Media-Namespace jedoch nirgendwo finden. Wenn ich versuche, meinem Projekt einen Verweis hinzuzufügen, wird dieser System.Windows.Mediain der Liste der Optionen nicht angezeigt. Mein Projekt zielt auch auf .Net 3.5 ab.

Muss ich noch etwas tun, um auf diesen Namespace zugreifen zu können?

Eric Anastas
quelle
3
Nur ein kleiner Hinweis für alle, die so googeln wie vor einigen Tagen: Ihre Projekte in Ihrer Lösung haben möglicherweise unterschiedliche Framework-Ziele. Wenn Sie also keine Referenz finden, überprüfen Sie immer, in welchem ​​Projekt sich die angezeigte Datei tatsächlich befindet und wenn dieses Projekt immer noch auf eine alte .NET-Version abzielt.
Akku

Antworten:

58

Der System.Windows.Media.ImagingNamespace ist Teil von PresentationCore.dll (wenn Sie Visual Studio 2008 verwenden, fügt die WPF-Anwendungsvorlage diese Referenz automatisch hinzu). Beachten Sie, dass dieser Namespace kein direkter Wrapping der WIC-Bibliothek ist, obwohl ein großer Teil der häufigeren Verwendungen noch verfügbar ist und es relativ offensichtlich ist, wie diese den WIC-Versionen zugeordnet werden. Weitere Informationen zu den Klassen in diesem Namespace finden Sie unter

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

VOX
quelle
7
Wenn dieser Link jemals stirbt oder die Seite umgeleitet wird, ist diese Antwort nutzlos. Bitte haben Sie das nächste Mal eine echte Antwort in Ihrer Antwort, wie @ MegaMilivoje's.
leetNightshade
6
Wie findet man heraus, welche DLL wir in diesen Fällen benötigen? Der Link erwähnt weder eine DLL noch das Wort "Präsentation". Ihre Antwort funktioniert, aber es ist nicht klar, wie wir das jemals lösen würden, ohne um Hilfe zu bitten.
Kat
89

Sie sollten einen Verweis auf PresentationCore.dll hinzufügen.

MegaMilivoje
quelle
5
Wie kann man sich an die Referenzen erinnern oder diese Art von Problem lösen, wenn kein Internetzugang vorhanden ist?
Anirban Nag 'tintinmj'
8
Ich habe diese Antwort abgelehnt, weil ich für Neulinge (wie mich) keine Ahnung habe, wo diese Datei leben würde.
John
2
Beste Antwort bisher. Außerdem wusste ich nicht, dass es oben im Referenzfenster eine Suchleiste gibt. Hier scrolle ich durch den Versuch, Dinge zu finden, die in Referenzen hinzugefügt werden können. Vielen Dank für den Hinweis!
Allegorie
Ja, das muss getan werden, aber die Antwort von Mehmedov hat meine Stimme erhalten, da er mir gesagt hat, wo es ist. Auf keinen Fall offensichtlich. Außerdem gibt es in jedem Versionsordner von .NET Framework eine PresentationCore.dll. Schauen Sie zuerst in Ihrem Projekt nach, welches Framework Sie verwenden (4.5, 4.6.
4.61
Verweis auf welchen Ort hinzufügen?
Vitaly Zdanevich
36

Fügen Sie PresentationCore.dllIhren Referenzen hinzu. Diese DLL-URL in meinem PC - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

Mehmedov
quelle
14

Für Visual Studio 2017

Suchen Sie im Lösungs-Explorer nach "Referenzen"

Klicken Sie mit der rechten Maustaste auf "Referenzen".

Wählen Sie "Referenz hinzufügen ..."

Suchen Sie die Liste "Presentation.Core" und aktivieren Sie das Kontrollkästchen

OK klicken

MikeyB
quelle
Dann musste ich WindowsBase.dllaus dem gleichen Verzeichnis hinzufügen
Andrei Krasutski
Gibt es ein Nuget-Paket dafür?
Demodave
Es wird übrigens unter "Assemblies" sein.
Tracy Moody