2011-08-19 9 views

risposta

14

È necessario imparare a distinguere tra nomi di assembly e spazi dei nomi. Non sono in una corrispondenza 1-1.

Se si desidera accedere ad es. System.Windows.Controls.Button, è necessario fare riferimento all'assembly PresentationFramework, che sembra contenere la maggior parte delle classi documentate su MSDN come nello spazio dei nomi System.Windows.Controls.

Più assiemi possono fornire classi/controlli a un singolo spazio dei nomi. E non è necessario che tutte (o anche la maggioranza) delle classi di un assembly risiedano tutte all'interno di un singolo spazio dei nomi.

+0

In realtà il mio problema è un po 'più grande di quello. Ho un progetto di una libreria di classi. In questo progetto ho controlli utente multipli. Questi controlli utilizzano una classe "A" che eredita da "Contol". Sto cercando di creare un dizionario unito per tutti questi controlli utente. Negli stili esistenti in questo dizionario viene utilizzata la classe "A". e sto riscontrando un problema di runtime durante il caricamento di questo modello perché non è possibile creare il tipo "A". Ho controllato il problema e ho scoperto che devo aggiungere il riferimento System.Windows.Controls al progetto, ma non l'ho trovato nel browser. – Ziad

+1

@Ziad - comunque, penso che il punto cruciale della tua domanda, e la risposta che ti serve, è che devi aggiungere un riferimento a 'PresentationFramework'. Se non è così, devi modificare la tua domanda e fornire maggiori informazioni su quale problema stai riscontrando. –

+0

ho modificato il mio commento, spero sia meglio. – Ziad

0

Se si utilizza VS 2010: Verificare le impostazioni del progetto: fare clic con il pulsante destro del mouse sul progetto, selezionare "Proprietà", quindi selezionare la scheda "Applicazione". Se il menu a discesa per "Framework di destinazione" è ".Net Framework 4 Profilo client" devi cambiarlo in ".net Framework 4".

Modifica: Immagino che il gruppo richiesto sia "PresentationFramework.dll" (vedere msdn class info about Usercontrol). Colpa mia, ho pensato che sarebbe il profilo del cliente, perché di solito faccio questo errore.

+0

Sono molto positivo che 'System.Windows.Controls' sia disponibile nel profilo del client .NET. Poi di nuovo, vale la pena provare. – BoltClock

+0

Per colpa mia, ho modificato la mia risposta: ho pensato che sarebbe stato il profilo cliente e l'avrei verificato localmente. Poiché questo è un errore comune, ho pensato che questo sarebbe stato il problema. Dal momento che non sviluppo applicazioni desktop, non sono un esperto per i namespace/assembly. Ma gli aiuti MSDN sono in dubbio. –

0

System.Windows viene fornito con il toolkit Silverlight. Spero possa aiutare.

Problemi correlati