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?


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


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.


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


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.