Não é possível encontrar o namespace System.Windows.Media?

86

Estou usando um objeto de uma API de terceiros que tem uma propriedade do tipo System.Windows.Media.ImageSource, mas não consigo encontrar o namespace System.Windows.Media em lugar nenhum. Se tento adicionar uma referência ao meu projeto, não vejo System.Windows.Mediana lista de opções. Meu projeto também tem como objetivo .Net 3.5.

Preciso fazer mais alguma coisa para acessar este namespace?

Eric Anastas
fonte
3
Apenas uma pequena dica para quem está pesquisando no Google como eu fiz alguns dias atrás: Seus projetos em sua solução podem ter diferentes destinos de framework, portanto, se você não encontrar uma referência, sempre verifique em qual projeto o arquivo que você está olhando realmente está e se esse projeto ainda visa alguma versão antiga do .NET.
Akku

Respostas:

60

O System.Windows.Media.Imagingnamespace faz parte do PresentationCore.dll (se você estiver usando o Visual Studio 2008, o modelo de aplicativo WPF adicionará automaticamente esta referência). Observe que esse namespace não é um agrupamento direto da biblioteca WIC, embora uma grande proporção dos usos mais comuns ainda esteja disponível e seja relativamente óbvio como eles são mapeados para as versões WIC. Para obter mais informações sobre as classes neste namespace, verifique

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

VOX
fonte
7
Se esse link morrer ou se a página for redirecionada, essa resposta será inútil. Da próxima vez, tenha uma resposta verdadeira em sua resposta, como a do @MegaMilivoje.
leetNightshade de
6
Como descobrir qual DLL precisamos nesses casos? O link não menciona uma DLL ou mesmo a palavra "apresentação". Sua resposta funciona, mas não está claro como resolveríamos isso sem pedir ajuda.
Kat
90

Você deve adicionar referência a PresentationCore.dll.

MegaMilivoje
fonte
5
Como lembrar as referências ou resolver esse tipo de problema quando não há acesso à internet?
Anirban Nag 'tintinmj'
9
Eu votei contra esta resposta, porque para iniciantes (como eu) não tenho ideia de onde esse arquivo estaria.
John
2
Melhor resposta até agora. Além disso, eu não sabia que havia uma barra de pesquisa no topo da janela de referências, aqui estou navegando tentando encontrar coisas para adicionar referências. Obrigado por apontar isso!
alegoria de
Sim, é isso que precisa ser feito, mas a resposta de Mehmedov teve meu voto, pois ele me disse onde estava. Não é óbvio de forma alguma. Também há um PresentationCore.dll em cada pasta de versão do .NET framework. Olhe primeiro em seu projeto para ver qual framework você está usando (4.5, 4.6. 4.61, etc)
JustJohn
Adicionar referência a que lugar?
Vitaly Zdanevich
36

Adicione PresentationCore.dllàs suas referências. Este url dll no meu pc - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

Mehmedov
fonte
16

Para Visual Studio 2017

Encontre "Referências" no explorador de soluções

Clique com o botão direito em "Referências"

Escolha "Adicionar Referência ..."

Encontre a lista "Presentation.Core" e marque a caixa de seleção

Clique OK

MikeyB
fonte
Então, eu tive que adicionar WindowsBase.dlldo mesmo diretório
Andrei Krasutski
Existe um pacote nuget para isso?
Demodave
Estará em "Assemblies" btw.
Tracy Moody de