【问题标题】:How can I compile a C# solution under maven如何在maven下编译C#解决方案
【发布时间】:2011-08-05 12:50:20
【问题描述】:

我们有一个用两种语言实现的应用程序,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

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 插件 http://maven-dotnet-plugin.appspot.com/

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

【问题讨论】:

标签: c# build maven


【解决方案1】:

我在 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 方法有很大的不同,会引起很多混乱。

希望这会有所帮助!

【讨论】:

  • 您是否在任何地方写过更多关于此的内容?你还在 C# 中使用 Maven 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 2012-06-05
  • 2012-08-08
相关资源
最近更新 更多