2014-05-24 81 views
0

我有一些somoe C#源代碼,我希望在linux操作系統下可用於Java應用程序。從linux下調用C#單一代碼

如何從java代碼中調用一些C#方法?

我發現了http://www.mono-project.com/Java但這看起來像在.net環境中編寫java代碼。這不是我所追求的。相反,我需要創建一個新的Java庫,它將公開來自C#代碼的所有功能,新的庫必須在純Java環境中執行。也許這對IKVM是可能的,我不確定。

+0

我建議你在java中重寫代碼。語法非常相似。但Mono可用於Linux,因此如果他們獲得Mono,他們將能夠在Linux機器上運行您的代碼。儘管C#是Microsoft語言,但它可以使用正確的工具在其他機器上編譯。 – Rynoh97

+0

爲什麼投票結束? – eomeroff

回答

3
  1. 使用Mono在您選擇的Linux平臺上編譯您的C#類;
  2. 使用JNI寫了一組外觀類的Java代碼和編譯的C#代碼之間。
0

你的問題將被關閉(我也投了),因爲它最終會導致一個工具建議。

你最好的方法是用Java重寫它們。或者另外,還有一些現有的工具(商業或免費)到C#轉換成Java,

Mono是不是你應該在這個時刻考慮的問題。是的,IKVM.NET只能幫助在Mono/.NET上運行Java代碼,並不能幫助你解決這個問題。

+0

但我不能重寫C#代碼。我的問題,它的一部分,如果解決方案是工具或不是我精正好解決了這個問題。 – eomeroff

0

目前還不清楚您是否可以通過單聲道執行c#項目,如果可以的話,那麼處理intercomunication是一條路。

如果你在Linux中這樣做,我應該使用管道通道來實現兩個進程的互通,工作非常好,並且易於使用。

如果你不能執行c#過程,那麼這是另一個歷史,你不能直接從java調用.net程序集。

而且還使用單在Linux上每個今天給出了很大的成績(除ASP .NET),我們使用它,(在大多數情況下比Java更快響應)變得非常良好的效果。

1

我能找到,可能是有用的最接近工具將JNI4Net

我覺得你還是需要單在Linux上運行.NET框架爲好。

+0

JNI4Net在linux上工作嗎? – eomeroff