¿No puede encontrar el espacio de nombres System.Windows.Media?

85

Estoy usando un objeto de una API de terceros que tiene una propiedad de tipo System.Windows.Media.ImageSource, pero parece que no puedo encontrar el espacio de nombres System.Windows.Media en ninguna parte. Si intento agregar una referencia a mi proyecto, no veo System.Windows.Mediaen la lista de opciones. Mi proyecto también tiene como objetivo .Net 3.5.

¿Hay algo más que deba hacer para poder acceder a este espacio de nombres?

Eric Anastas
fuente
3
Solo una pequeña sugerencia para cualquiera que busque en Google esto como lo hice hace unos días: sus proyectos en su solución pueden tener diferentes objetivos de marco, por lo tanto, si no encuentra una referencia, siempre verifique dos veces en qué proyecto se encuentra el archivo que está viendo. y si ese proyecto todavía apunta a alguna versión antigua de .NET.
Akku

Respuestas:

59

El System.Windows.Media.Imagingespacio de nombres es parte de PresentationCore.dll (si está utilizando Visual Studio 2008, la plantilla de la aplicación WPF agregará automáticamente esta referencia). Tenga en cuenta que este espacio de nombres no es un envoltorio directo de la biblioteca de WIC, aunque una gran proporción de los usos más comunes todavía están disponibles y es relativamente obvio cómo se asignan a las versiones de WIC. Para obtener más información sobre las clases en este espacio de nombres, consulte

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

VOX
fuente
7
Si ese enlace alguna vez muere o si se redirige la página, esta respuesta será inútil. La próxima vez, tenga una respuesta real en su respuesta, como la de @ MegaMilivoje.
leetNightshade
6
¿Cómo saber qué DLL necesitamos en estos casos? El enlace no menciona una DLL o incluso la palabra "presentación". Su respuesta funciona, pero no está claro cómo podríamos resolver esto sin pedir ayuda.
Kat
90

Debe agregar una referencia a PresentationCore.dll.

MegaMilivoje
fuente
5
¿Cómo recordar las referencias o solucionar este tipo de problemas cuando no hay acceso a internet?
Anirban Nag 'tintinmj'
8
Rechacé esta respuesta, porque para los novatos (como yo) no tengo ni idea de dónde viviría ese archivo.
John
2
La mejor respuesta hasta ahora. Además, no sabía que había una barra de búsqueda en la parte superior de la ventana de referencias, aquí estoy desplazándome tratando de encontrar cosas para agregar referencias. ¡Gracias por señalar eso!
alegoría
Sí, esto es lo que hay que hacer, pero la respuesta de Mehmedov obtuvo mi voto ya que me dijo dónde estaba. No es obvio de ninguna manera. También hay un PresentationCore.dll en cada carpeta de versión de .NET framework. Primero, busque en su proyecto para ver qué marco está utilizando (4.5, 4.6. 4.61, etc.)
JustJohn
¿Agregar referencia a qué lugar?
Vitaly Zdanevich
36

Agregue PresentationCore.dlla sus referencias. Esta URL dll en mi pc - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

Mehmedov
fuente
15

Para Visual Studio 2017

Busque "Referencias" en el Explorador de soluciones

Haga clic derecho en "Referencias"

Elija "Agregar referencia ..."

Busque la lista "Presentation.Core" y marque la casilla de verificación

Haga clic en Aceptar

MikeyB
fuente
Luego tuve que agregar WindowsBase.dlldesde el mismo directorio
Andrei Krasutski
¿Hay un paquete nuget para ello?
Demodave
Por cierto, estará bajo "Asambleas".
Tracy Moody