2011-08-19 11 views

Respuesta

14

Necesita aprender a distinguir entre nombres de ensamblado y espacios de nombres. No están en una correspondencia 1-1.

Si quiere acceder, p. System.Windows.Controls.Button, necesita hacer referencia al ensamblaje PresentationFramework, que parece contener la mayoría de las clases documentadas en MSDN como en el espacio de nombres System.Windows.Controls.

Los ensamblados múltiples pueden contribuir con clases/controles a un solo espacio de nombres. Y no hay ningún requisito de que todas (o incluso la mayoría) de las clases de un conjunto residan dentro de un solo espacio de nombres.

+0

En realidad, mi problema es un poco más grande que eso. Tengo un proyecto de una biblioteca de clases. En este proyecto tengo controles de usuario múltiples. Estos controles usan una clase "A" que hereda de "Contol". Estoy tratando de hacer un diccionario Mergd para todos estos controles de usuario. En los estilos que existen en este diccionario se usa la clase "A". y estoy teniendo un problema de tiempo de ejecución cargando esta plantilla porque no puede crear el tipo "A". Revisé el problema y descubrí que tengo que agregar la referencia System.Windows.Controls al proyecto, pero no lo encontré en el navegador. – Ziad

+1

@Ziad: aún así, creo que el meollo de su pregunta y la respuesta que necesita es que debe agregar una referencia a 'PresentationFramework'. Si no es así, debe editar su pregunta y proporcionar más información sobre el problema que está teniendo. –

+0

edité mi comentario, espero que sea mejor. – Ziad

0

Si está utilizando VS 2010: Verifique la configuración del proyecto: haga clic con el botón derecho en su Proyecto, seleccione "Propiedades", luego seleccione la pestaña "Aplicación". Si el menú desplegable para "Marco de destino" es ".Net Framework 4 Client Profile", tiene que cambiarlo a ".NET Framework 4".

Editar: Supongo que el conjunto requerido es "PresentationFramework.dll" (ver msdn class info about Usercontrol). Mi error, solo pensé que sería el perfil del cliente, porque generalmente hago este error.

+0

Estoy muy seguro de que 'System.Windows.Controls' está disponible en el perfil de cliente .NET. Por otra parte, vale la pena intentarlo. – BoltClock

+0

Mi error, edité mi respuesta: simplemente pensé que sería el perfil de cliente y lo probé localmente. Dado que este es un error común que hago, pensé que este sería el problema. Como no desarrollo aplicaciones de escritorio, no soy un experto para los espacios de nombres/ensamblados. Pero MSDN está en duda. –

0

El System.Windows se envía con el kit de herramientas de Silverlight. Espero que ayude.

Cuestiones relacionadas