Non riesci a trovare lo spazio dei nomi System.Windows.Media?


86

Sto usando un oggetto da un'API di terze parti che ha una proprietà di tipo System.Windows.Media.ImageSource, ma non riesco a trovare lo spazio dei nomi System.Windows.Media da nessuna parte. Se provo ad aggiungere un riferimento al mio progetto non vedo System.Windows.Medianell'elenco delle opzioni. Il mio progetto si rivolge anche a .Net 3.5.

C'è qualcos'altro che devo fare per poter accedere a questo spazio dei nomi?


3
Solo un piccolo suggerimento per chiunque cerchi su Google come ho fatto alcuni giorni fa: i tuoi progetti nella tua soluzione potrebbero avere obiettivi di framework diversi, quindi se non trovi un riferimento ricontrolla sempre in quale progetto si trova il file che stai guardando e se quel progetto mira ancora a qualche vecchia versione .NET.
Akku

Risposte:


60

Lo System.Windows.Media.Imagingspazio dei nomi fa parte di PresentationCore.dll (se si utilizza Visual Studio 2008, il modello dell'applicazione WPF aggiungerà automaticamente questo riferimento). Si noti che questo spazio dei nomi non è un involucro diretto della libreria WIC, sebbene una gran parte degli usi più comuni sia ancora disponibile ed è relativamente ovvio come questi si associno alle versioni WIC. Per ulteriori informazioni sulle classi in questo spazio dei nomi, controlla

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


7
Se quel link muore o se la pagina viene reindirizzata, questa risposta sarà inutile. La prossima volta ti preghiamo di avere una risposta reale nella tua risposta, come quella di @ MegaMilivoje.
leetNightshade

6
Come si fa a scoprire di quale DLL abbiamo bisogno in questi casi? Il collegamento non fa menzione di una DLL o anche della parola "presentazione". La tua risposta funziona, ma non è chiaro come risolveremo questo problema senza chiedere aiuto.
Kat

90

È necessario aggiungere un riferimento a PresentationCore.dll.


5
Come ricordare i riferimenti o risolvere questo tipo di problema quando non c'è accesso a Internet?
Anirban Nag 'tintinmj'

9
Ho downvotato questa risposta, perché per i neofiti (come me) non ho idea di dove sarebbe vissuto quel file.
John

2
La migliore risposta finora. Inoltre, non sapevo che ci fosse una barra di ricerca nella parte superiore della finestra dei riferimenti, qui sto scorrendo cercando di trovare cose da aggiungere nei riferimenti. Grazie per la segnalazione!
allegoria

Sì, questo è ciò che deve essere fatto, ma la risposta di Mehmedov ha ottenuto il mio voto poiché mi ha detto dov'era. Non ovvio in alcun modo. Inoltre c'è un PresentationCore.dll in ogni cartella di versione di .NET framework. Guarda prima nel tuo progetto per vedere quale framework stai usando (4.5, 4.6. 4.61, ecc.)
JustJohn

Aggiungere un riferimento a quale luogo?
Vitaly Zdanevich

36

Aggiungi PresentationCore.dllai tuoi riferimenti. Questo URL dll nel mio pc - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll


16

Per Visual Studio 2017

Trova "Riferimenti" in Esplora soluzioni

Fare clic con il tasto destro su "Riferimenti"

Scegli "Aggiungi riferimento ..."

Trova l'elenco "Presentation.Core" e seleziona la casella di controllo

Fare clic su OK


Poi ho dovuto aggiungere WindowsBase.dlldalla stessa directory
Andrei Krasutski

Esiste un pacchetto nuget per questo?
Demodave

Sarà sotto "Assemblee" btw.
Tracy Moody
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.