2011-04-14 10 views
5

Tenemos una aplicación implementada en dos idiomas, Java y C#. La aplicación Java usa maven para su proceso de creación y lanzamiento, y ahora también necesito integrar la construcción de C# en maven. Se implementa con Visual Studio 2010. ¿Alguien sabe cómo hacer esto? ¿Cuál es el mejor complemento ahora que puedo usar? ¡Muchas gracias!¿Cómo puedo compilar una solución C# bajo maven

Actualización:

Hasta ahora he encontrado las siguientes 4 opciones. ¿Alguien ha utilizado con éxito alguno de estos? También eventualmente necesitaré portar el proceso de compilación/lanzamiento a Linux y tal vez usar Mono para compilar en maven. Agradecería cualquier información, gracias.

NPanday http://incubator.apache.org/npanday/docs/1.2/guide/maven/project-types.html

plexo http://maven.apache.org/plugins/maven-compiler-plugin/non-javac-compilers.html http://snapshots.repository.codehaus.org/org/codehaus/plexus/plexus-compiler-csharp/1.6-SNAPSHOT/

Maven Dotnet Plugin http://maven-dotnet-plugin.appspot.com/

Tutorial: http://docs.codehaus.org/display/MAVENUSER/Using+Maven+to+manage+.NET+projects

+2

Posible duplicado: http://stackoverflow.com/questions/652583/is-there-a-maven-alternative-or-port-for-the-net-world – dcp

+1

Define duplicate: http://stackoverflow.com/questions/2281052/c-sharp-project-management-with-maven que tiene algunas respuestas buenas (diferentes) – earcam

Respuesta

7

trabajo con Maven en un/pila C# C++. Con maven, la regla general de "si se puede hacer por línea de comandos, se puede hacer en maven", por lo que terminamos teniendo un montón de .bat, .exe y powershell "pegamento" para obtener todas las piezas Jugando juntos.

Probablemente la mejor forma de administrar compilaciones de C# a través de maven es crear un componente que proporcione la maquinaria necesaria, en forma de scripts de powershell o archivos .bat. A continuación, puede publicar esto como un complemento maven o simplemente hacer que todos los componentes posteriores agreguen una dependencia al "componente de compilación". La sintaxis es un poco difícil de resolver, pero al final del día, solo está invocando csc.exe o algo similar.

Recomiendo seguir los pasos básicos de Maven: recursos de proceso, compilación, prueba, implementación, lanzamiento, y lo que se supone que deben hacer. Esto reducirá el "ruido del proceso" entre C# y el código Java y los procesos de compilación, ya que el significado de la compilación mvn (por ejemplo) se mantendrá conceptualmente constante en todos los componentes. Lo más probable es que termine generando archivos .zip como artefactos en lugar de archivos .jar, y luego descomprimiendo como parte del paso de copiar y dependencias.

Durante el despliegue, se espera MUCHA confusión entre los chicos de C#. Maven es completamente desconocido para el 99% de los desarrolladores C#/C++ en el mundo, y su proceso es lo suficientemente diferente de un enfoque tradicional MSBuild/TFSBuild/ANT para causar mucha confusión.

Espero que esto ayude!

+0

¿Escribiste más sobre esto en cualquier lugar? ¿Todavía usas Maven con C#? –

Cuestiones relacionadas