Не можете найти пространство имен System.Windows.Media?

86

Я использую объект из стороннего API, у которого есть свойство типа System.Windows.Media.ImageSource, но я не могу нигде найти пространство имен System.Windows.Media. Если я попытаюсь добавить ссылку на свой проект, я не увижуSystem.Windows.Media в списке вариантов. Мой проект также нацелен на .Net 3.5.

Что еще мне нужно сделать, чтобы получить доступ к этому пространству имен?

Эрик Анастас
источник
3
Просто небольшая подсказка для тех, кто ищет в Google это, как я сделал несколько дней назад: ваши проекты в вашем решении могут иметь разные цели фреймворка, поэтому, если вы не найдете ссылку, всегда дважды проверяйте, в каком проекте находится файл, который вы просматриваете. и если этот проект все еще нацелен на какую-то старую версию .NET.
Akku

Ответы:

60

Пространство System.Windows.Media.Imagingимен является частью PresentationCore.dll (если вы используете Visual Studio 2008, шаблон приложения WPF автоматически добавит эту ссылку). Обратите внимание, что это пространство имен не является непосредственной оболочкой библиотеки WIC, хотя большая часть наиболее распространенных применений все еще доступна, и относительно очевидно, как они соотносятся с версиями WIC. Для получения дополнительной информации о классах в этом пространстве имен ознакомьтесь с

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

VOX
источник
7
Если эта ссылка когда-нибудь умрет или страница будет перенаправлена, этот ответ будет бесполезен. В следующий раз, пожалуйста, включите в свой ответ настоящий ответ, например, @ MegaMilivoje.
leetNightshade 09
6
Как узнать, какая DLL нам нужна в этих случаях? В ссылке нет упоминания о DLL или даже слова «презентация». Ваш ответ работает, но непонятно, как мы можем решить эту проблему, не обращаясь за помощью.
Кэт
90

Вы должны добавить ссылку на PresentationCore.dll.

MegaMilivoje
источник
5
Как запомнить ссылки или решить такую ​​проблему при отсутствии доступа в интернет?
Anirban Nag 'tintinmj'
9
Я отклонил этот ответ, потому что для новичков (таких как я) я понятия не имею, где будет находиться этот файл.
Джон
2
Лучший ответ на данный момент. Кроме того, я не знал, что в верхней части окна ссылок есть панель поиска, здесь я пролистываю, пытаясь найти что-то, что можно добавить в ссылки. Спасибо что подметил это!
аллегория
Да, это то, что нужно сделать, но ответ Мехмедова получил мой голос, поскольку он сказал мне, где он находится. Во всяком случае, не очевидно. Также в папке каждой версии .NET framework есть PresentationCore.dll. Сначала посмотрите в свой проект, чтобы увидеть, какой фреймворк вы используете (4.5, 4.6. 4.61 и т. Д.)
JustJohn
Добавить ссылку на какое место?
Виталий Зданевич
36

Добавьте PresentationCore.dllк своим ссылкам. Этот URL-адрес dll на моем компьютере - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

Мехмедов
источник
16

Для Visual Studio 2017

Найдите «Ссылки» в обозревателе решений

Щелкните правой кнопкой мыши «Ссылки»

Выберите «Добавить ссылку ...»

Найдите список "Presentation.Core" и установите флажок

Нажмите ОК

MikeyB
источник
Потом пришлось добавить WindowsBase.dllиз того же каталога
Андрея Красуцкого.
Есть ли для этого пакет nuget?
Демодаве
Кстати, это будет в разделе "Сборки".
Tracy Moody