Tengo una solución que contiene varios proyectos, vamos a llamarlos ProjectA y ProjectB. Necesito ProjectA para tener una referencia a ProjectB, sin embargo, cuando "Exportar plantilla" parece que no puedo mantener la referencia. Lo que intento hacer es crear una referencia para mí cuando creo un nuevo proyecto y luego nombrarlo automáticamente a lo que ingresé.¿Cómo agrego las mismas referencias de proyecto de solución al exportar plantillas en Visual Studio?
¿Cómo agrego las mismas referencias de proyecto de solución al exportar plantillas en Visual Studio?
Respuesta
Esto está ligeramente fuera del alcance de las plantillas puras de Visual Studio.
plantillas de Visual Studio es compatible con los parámetros de reemplazos para las plantillas, así que lo que podría hacer es:
- Dentro de su archivo de plantilla
ProjectA.zip
encontraráProjectA.csproj
, que es la plantilla para el proyecto - En
ProjectA.csproj
se quiere un hallazgo que contiene<ItemGroup>
<Reference>
entradas - Entre ellos debe ser una entrada como
<Reference Include="ProjectB">
Cuando crea un proyecto a partir de su plantilla ProjectB, su nombre será especificado por el usuario, por lo que desea reemplazar ProjectB
con un parámetro de reemplazo como $Foo$
.
Aquí es donde se sale del alcance de las plantillas puras: ¿Cómo le dice a visual studio que reemplace $Foo$
? ¿Y cuál sería el reemplazo?
Su única opción aquí es utilizar un asistente personalizado, que busca el proyecto tipo ProjectB o lo solicita al usuario.
He aquí un esbozo de cómo obtener el asistente de plantilla y la costumbre de llevarse bien:
- Crear un proyecto VSIX paquete.
- Asegúrese de agregar el atributo
[ProvideBindingPath]
a su paquete. Esto es necesario para conseguir el asistente personalizado registrado (de lo contrario tendría que instalarlo en el GAC, por lo que VS puede encontrarlo) - Crear su asistente, se debe aplicar
Microsoft.VisualStudio.TemplateWizard.IWizard
- Añadir su plantilla a la solución y agregarlo como un activo ProjectTemplate en su paquete de vsixmanifest
en el archivo .vstemplate de su plantilla, añada el siguiente fragmento debajo del bloque de <TemplateContent>
:
<WizardExtension>
<Assembly>Your.Packages.Assembly</Assembly>
<FullClassName>Your.Wizard</FullClassName>
</WizardExtension>
que traerá su Wizar d cuando se crea el proyecto. Podría, en el método RunStarted
abrir un cuadro de diálogo que solicita la referencia o puede usar el parámetro automationObject
(que en realidad es una instancia EnvDTE.DTE
) para intentar encontrar el proyecto ProjectB y proporcionar su nombre en el replacementsDictionary
.
- 1. Crear plantillas de solución Visual Studio (vs.net) 2008?
- 2. Referencias de Visual Studio Project dentro de la solución
- 3. VS2010 Encuentre todas las referencias al proyecto en la solución
- 4. ¿Puedo copiar algunas referencias de un proyecto y pegarlo en las referencias de otro proyecto en Visual Studio?
- 5. ¿Cómo evitar que Visual Studio actualice las referencias de ensamblaje?
- 6. Archivo de solución vs. Archivo de proyecto en Visual Studio
- 7. Visual Studio Solución grande
- 8. visual studio 2010 referencias condicionales
- 9. cómo actualizar Visual Studio caché de plantillas
- 10. referencias de rvalue en Visual Studio 2010
- 11. Cómo puedo heredar las dependencias/referencias del proyecto de un proyecto a un proyecto dependiente en Visual Studio
- 12. Proyecto de solución externa de referencias en VS2010
- 13. Solución de Visual Studio 2010 Buscar todas las referencias que no funcionan
- 14. Error de proyecto de WiX al abrir la solución en Visual Studio
- 15. Proyecto vacío de Visual Studio?
- 16. No hay plantillas disponibles al crear un nuevo proyecto en Visual Studio
- 17. Error HRESULT E_FAIL al pegar referencias en Visual Studio
- 18. Visual Studio 2010 - Exportar (proyecto) Plantilla opción de menú en gris
- 19. ¿Cómo elimino las conexiones TFS de un proyecto/solución Visual Studio 2010 C#?
- 20. Cómo convertir la solución visual studio 2010 SP1 en la solución visual studio 2012?
- 21. ¿Puedo crear elementos de nivel de "Solución" en una plantilla de proyecto de Visual Studio?
- 22. ¿Proyecto de referencia "readonly" en Visual Studio?
- 23. ¿Cómo agrego un árbol de directorios existente a un proyecto en Visual Studio?
- 24. ¿Qué haces con las referencias cuando descargas un proyecto en Visual Studio?
- 25. ¿Cómo cambiar el nombre de la solución y el proyecto existente en Visual Studio 2008?
- 26. ¿Cómo se divide una solución de Visual Studio?
- 27. ¿Cómo agregar macros al proyecto de Visual Studio?
- 28. Cómo exportar/importar barras de herramientas en Visual Studio
- 29. Agregar referencias sin Visual Studio
- 30. cómo exportar Visual Studio 2010 extensiones