Nie możesz znaleźć przestrzeni nazw System.Windows.Media?

85

Używam obiektu z interfejsu API innej firmy, który ma właściwość typu System.Windows.Media.ImageSource, ale nie mogę nigdzie znaleźć przestrzeni nazw System.Windows.Media. Jeśli spróbuję dodać odniesienie do mojego projektu, nie widzę System.Windows.Mediana liście opcji. Mój projekt jest również nakierowany na .Net 3.5.

Czy jest coś jeszcze, co muszę zrobić, aby uzyskać dostęp do tej przestrzeni nazw?

Eric Anastas
źródło
3
Mała wskazówka dla każdego, kto szuka tego w Google tak jak kilka dni temu: Twoje projekty w twoim rozwiązaniu mogą mieć różne cele frameworka, dlatego jeśli nie znajdziesz odniesienia, zawsze dokładnie sprawdź, w którym projekcie znajduje się plik, którego szukasz i jeśli ten projekt nadal jest przeznaczony dla jakiejś starej wersji .NET.
Akku

Odpowiedzi:

59

Przestrzeń System.Windows.Media.Imagingnazw jest częścią PresentationCore.dll (jeśli używasz programu Visual Studio 2008, szablon aplikacji WPF automatycznie doda to odwołanie). Należy zauważyć, że ta przestrzeń nazw nie jest bezpośrednim opakowaniem biblioteki WIC, chociaż duża część bardziej powszechnych zastosowań jest nadal dostępna i jest stosunkowo oczywiste, w jaki sposób są one odwzorowywane na wersje WIC. Aby uzyskać więcej informacji na temat klas w tej przestrzeni nazw, zobacz

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

VOX
źródło
7
Jeśli ten link kiedykolwiek zniknie lub jeśli strona zostanie przekierowana, ta odpowiedź będzie bezużyteczna. Następnym razem proszę o prawdziwą odpowiedź, na przykład @ MegaMilivoje's.
leetNightshade
6
Jak można dowiedzieć się, jakiej biblioteki DLL potrzebujemy w takich przypadkach? W odsyłaczu nie ma wzmianki o bibliotece DLL ani nawet o słowie „prezentacja”. Twoja odpowiedź działa, ale nie jest jasne, jak moglibyśmy to kiedykolwiek rozwiązać bez pytania o pomoc.
Kat
90

Należy dodać odwołanie do PresentationCore.dll.

MegaMilivoje
źródło
5
Jak zapamiętać odniesienia lub rozwiązać tego typu problem, gdy nie ma dostępu do internetu?
Anirban Nag 'tintinmj'
8
Odrzuciłem tę odpowiedź, ponieważ dla początkujących (takich jak ja) nie mam pojęcia, gdzie ten plik mógłby się znajdować.
John
2
Jak dotąd najlepsza odpowiedź. Nie wiedziałem też, że u góry okna referencji znajduje się pasek wyszukiwania, tutaj przewijam, próbując znaleźć rzeczy do dodania w odniesieniach. Dziękuję za zwrócenie uwagi!
alegoria
Tak, to należy zrobić, ale odpowiedź Mehmedova dostała mój głos, ponieważ powiedział mi, gdzie to jest. W żadnym wypadku nie jest to oczywiste. Ponadto w każdym folderze wersji platformy .NET Framework znajduje się plik PresentationCore.dll. Najpierw spójrz na swój projekt, aby zobaczyć, którego frameworka używasz (4.5, 4.6, 4.61 itd.)
JustJohn
Dodaj odniesienie do jakiego miejsca?
Witalij Zdanevich
36

Dodaj PresentationCore.dlldo swoich referencji. Ten adres URL biblioteki DLL na moim komputerze - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

Mehmedov
źródło
15

W przypadku programu Visual Studio 2017

Znajdź „Referencje” w eksploratorze rozwiązań

Kliknij prawym przyciskiem myszy „Referencje”

Wybierz „Dodaj odniesienie ...”

Znajdź listę „Presentation.Core” i zaznacz pole wyboru

Kliknij OK

MikeyB
źródło
Potem musiałem dodać WindowsBase.dllz tego samego katalogu
Andrei Krasutski
Czy jest do tego pakiet nuget?
Demodave
A tak przy okazji, będzie pod „Assemblies”.
Tracy Moody