Pregunta

Hay algunas actualizaciones con .NET 3.0 sobre cómo crear y usar complementos para sus propias aplicaciones. Leí sobre un " canalización " tiene que crear para la comunicación entre el complemento y la aplicación host, pero no pudo encontrar más información al respecto.

¿Cómo crearía una funcionalidad de complemento en una aplicación con .NET 3.0 / 3.5?

Información adicional si es necesario : la aplicación host se realiza con WPF y algunas funciones generales. Cada complemento debe agregar una ficha de registro propia a un contenedor dado con su propio contenido (botones, campos de texto, ...) y métodos para extender la aplicación host.

¿Fue útil?

Solución

Visite definitivamente el marco de extensibilidad gestionada en www.codeplex.com/mef . Es un marco que ayuda a crear aplicaciones extensibles. Se encarga de todas las tuberías al crear una aplicación conectable. Actualmente estoy escribiendo una serie de artículos que muestran la funcionalidad básica de mef en http: // www .jenswinter.com /? tag = / mef . Pero los artículos están en alemán, sin embargo.

Otro marco que debe probar es el CompositeWpf (f.k.a. Prism). Te permite crear aplicaciones compuestas de WPF. Su aplicación constará de una aplicación de shell y varios proyectos de módulos que se conectan entre sí y se enganchan en el shell.

Otros consejos

Además de Daniels enlace de codeplex, Jason He también tiene una buena serie sobre cómo usar el espacio de nombres System.AddIn al desarrollar Paint.NET comenzando aquí -

http://blogs.msdn.com/zifengh/archive/2007/01/04/addin-model-in-paint-net-1-introduction.aspx

También está disponible ahora el marco de extensibilidad gestionada ( www.codeplex.com/mef ) que le permite aprovechar una rica plataforma de complementos.

También puede encontrar que la inyección de dependencia está en la línea de algo que podría usar ( Unity , StructureMap para nombrar solo dos).

Podría crear una plataforma de complementos sobre un marco de inyección de dependencias, aunque una plataforma de complementos dedicada como MEF probablemente sea más fácil de implementar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top