一千萬個為什麽

搜索

如何在maven下編譯C#解決方案

我們有一個用Java和C#兩種語言實現的應用程序。 Java應用程序使用maven來構建和發布進程,現在我需要將C#的構建集成到maven中。它是使用Visual Studio 2010實現的。有誰知道如何做到這一點?我現在可以使用的最佳插件是什麽。非常感謝!

更新</強>

到目前為止,我發現了以下4個選項。有沒有人成功使用過這些?另外,我最終需要將構建/發布過程移植到Linux,並且可能使用Mono在maven中編譯。非常感謝任何信息,謝謝。

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

Plexus 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

最佳答案

我在C#/ C ++堆棧中使用Maven。對於maven,一般規則“如果它可以通過命令行完成,它可以在maven中完成”持有,所以我們最終有很多.bat,.exe和powershell“粘合劑”來​​獲得所有的碎片一起玩。

通過maven管理C#編譯的最佳方法可能是創建一個以powershell腳本或.bat文件的形式提供必要機制的組件。然後,您可以將其發布為maven插件,或者只是讓所有下遊組件都向“編譯組件”添加依賴項。解決這個問題的語法有點棘手,但在一天結束時,你只是調用csc.exe或類似的東西。

我強烈建議堅持基本的maven步驟 - 進程資源,編譯,測試,部署,發布 - 以及它們的目的。這將減少C#和Java代碼以及構建過程之間的“過程噪音”,因為mvn compile(例如)的含義在所有組件中在概念上保持一致。您最有可能最終生成.zip文件作為工件而不是.jar文件,然後作為復制依賴步驟的一部分解壓縮。

在推出時,期待來自C#家夥的很多混亂。 Maven對全世界99%的C#/ C ++開發人員完全不熟悉,而且它的過程與傳統的MSBuild/TFSBuild/ANT方法有很大不同,引起很多混亂。

希望這可以幫助!

轉載註明原文: 如何在maven下編譯C#解決方案