Estoy intentando crear un instalador VSIX para un control WPF.Instalador de la caja de herramientas WPF para un tipo definido en un ensamblaje diferente
Supuestamente es fácil, pero la versión "fácil" asume que crea el control WPF en el proyecto VSIX.
El problema es que tengo mi UserControl ubicado en una de mis DLL, y no creo que sacarlo sea el mejor diseño. Me gustaría dejarlo allí, pero parece que no puedo hacer esto Y tener el control agregado a la caja de herramientas.
Una opción sería mover el código que necesito para instalarlo en la caja de herramientas en el conjunto del control, sino que añadiría una dependencia a Microsoft.VisualStudio.Shell.Immutable.10.0.dll. El ensamblado lo usa alguien con Visual Studio instalado y un servidor remoto que se ejecuta dentro de un servicio donde VS no está instalado, por lo que es un no-go.
Otra opción que probé fue "engañar" al instalador de herramientas VSIX al aplicar el RegistrationAttribute a proxies que registraría los tipos definidos en el otro ensamblado. Pensé que funcionaría, pero sucedieron cosas raras.
En lugar de obtener dos controles, me sale un montón de controles de frontera (la frontera estándar de WPF) en pestañas nombres extraños, algunos de los cuales se hacen eco de algunos de mis espacios de nombres.
¿Cómo puedo registrar un UserControl de WPF con la Caja de herramientas cuando el control está definido en un conjunto que no sea el VSIX?
¿Dónde se supone que el control WPF debe estar en el proyecto VSIX? Además, ¿qué quiere decir con la versión "fácil"? – Matt
@Matt: Sin suposiciones, solo cómo se diseñan las herramientas. Si sigue los tutoriales de MSDN [aquí] (http://msdn.microsoft.com/en-us/library/ee712573.aspx) y [aquí] (http://msdn.microsoft.com/en-us/library/ee712574.aspx) o simplemente mire la plantilla instalada, verá que está orientada hacia (los tutoriales y la plantilla) combinando el instalador y el control en el mismo proyecto. O bien, podría tratar de responder mi pregunta, en cuyo caso encontrará que no hay nada * fácil * sobre hacerlo de otra manera. – Will
@Will Creo que veo tu punto, parece que el atributo ProvideToolboxControl es la dependencia de la que hablas? – Matt