2008-10-03 25 views
11

Iniciar nuevos proyectos .NET siempre implica un poco de trabajo. Debe crear la solución, agregar proyectos para diferentes niveles (Dominio, DAL, Web, Prueba), configurar referencias, estructura de la solución, copiar archivos javascript, plantillas css y páginas maestras, etc.¿Cómo puedo clonar una solución .NET?

Lo que me gustaría es una manera fácil de clonar cualquier solución dada.

Si usa copiar/pegar, el problema es que se necesita para ir luego a través de espacios de nombres de cambio de nombre, nombres, nombres de montaje de soluciones, etc. GUID

¿Hay una manera de automatizar esto?

Algo como esto sería grande:

solutionclone.exe --solution=c:\code\abc\template.sln --to=c:\code\xyz --newname=MySolution 

Soy consciente de que Visual Studio tiene plantillas de proyecto, pero no he visto plantillas de solución.

Respuesta

2

Como ya descubrió: Copie el archivo .sln y asegúrese de que las rutas/guías coincidan.

Como .sln son text/plain, solo use su lenguaje de scripts favorito para crear un clonador.

Tal vez este es un buen momento para aprender Python/Ruby/Perl/Windows Script Host

MSDN Solution (.sln) File Definition

+5

¿En Windows? Powershell: seriamente capaz incluso antes de comenzar a ensamblar .NET para jugar con – Murph

0

Creo que el Guidance Automation Toolkit le permite hacer esto, pero puede no ser una manera "fácil".

Tengo el mismo problema que usted y tengo la intención de verlo en detalle "muy pronto".

1

Mire Tree Surgeon en CodePlex, crea un árbol de desarrollo para usted.

0

Puede ser que usted debe comprobar Warmup proyecto de código abierto. Encuentre una breve descripción en http://devlicious.com/blogs/rob_reynolds/archive/2010/02/01/warmup-getting-started.aspx.

EN MIEMBRO, ventaja de Warmup enfoque es que puede clonar todo el árbol con la solución directamente desde SVN o GIT.

Nota! No lo he usado personalmente, pero pienso probarlo en el próximo proyecto. Por favor deje un comentario si lo usa.

6

He creado una pequeña aplicación para esto. Funciona igual que la aplicación Solutionclone mencionada anteriormente, excepto que es tanto una aplicación de línea de comando como una aplicación WPF.

Cloney copia una carpeta de origen a una de destino, sin ninguna integración de Git o Svn. También reemplazará el antiguo espacio de nombre en todas partes (en nombres de archivo así como dentro de archivos) con el nuevo espacio de nombres (el nombre de la carpeta de destino) y excluirá ciertos archivos (ej. * .suo, * .user, * .vssscc) y carpetas (por ejemplo, .git, .svn).

Puede obtener el código fuente o descargar un archivo ejecutable al https://github.com/danielsaidi/cloney.

Cloney también se puede agregar al menú contextual del Explorador de Windows, lo que permite clonar.NET soluciones simplemente haciendo clic derecho en el archivo .sln.

+0

¡Funciona como un amuleto gracias! –

+1

¡Feliz de escuchar eso! :) –

0

Publicación anterior, lo sé, pero recientemente tuve la necesidad de hacer esto, y aunque hay varias herramientas de cosecha propia para hacerlo, quería algo más liviano que pudiera lanzar donde quisiera. Como me gusta Python para las secuencias de comandos de lenguaje interpretado, escribí una sola herramienta de archivo en Python para hacer el trabajo. Su única dependencia es python3 y chardet2.

https://gist.github.com/4159114

0

Puede utilizar una plantilla de varias proyecto para obtener solución como comportamiento. La estructura de la carpeta estará un poco desajustada, colocando todos los proyectos en un nivel debajo del archivo .sln.

También puede implementar un IWizard personalizado para tener control completo.

Cuestiones relacionadas