2011-12-08 84 views
0

我已經使用C#和.NET編寫了一個網絡庫。 .NET/Mono開發人員可以使用該庫來開發多人應用程序。 我想讓Android平臺上的庫可用,以便原生Android開發人員可以使用該庫。 Monodroid(適用於Android的Mono)能夠執行此翻譯,並且最佳方式是什麼? 謝謝。使用Monodroid翻譯.NET DLL

回答

0

如果我正確地理解了這個問題,那麼您正在尋找使用Mono for Android構建一個DLL,並將其提供給Java開發人員使用?目前這是不可能的,因爲Android的Mono不是簡單地從C#翻譯成Java。適用於Android應用程序的Mono包括Mono運行時,而.NET代碼則是針對此運行的。它生成可調用的封裝,以便Mono和Dalvik(Android中的Java虛擬機)可以相互交流,但是如果沒有Mono運行時,DLL不會非常有用。

如果開發人員使用Mono for Android構建應用程序,那麼他們可以在應用程序中使用您的DLL。

+0

爲什麼不能單聲道爲android包裝單聲道運行時與.Net DLL(就像它爲其他.NET應用程序一樣)。這樣,該庫應該可供本地Android開發人員使用(因爲它具有單聲道運行時)。理論上,我沒有看到.NET應用程序和.NET DLL之間有很大區別(它們都是.NET解決方案/項目)。如果Mono for Android可以將.NET項目直接轉換爲Android,那麼它應該能夠處理構建爲庫的.NET項目。 – Santo

+0

運行時知道如何解釋和運行您的DLL,因此它們在很多不同的級別上運行。我建議閱讀Mono for Android架構的文檔,其中解釋瞭如何設置所有內容:http://docs.xamarin.com/android/advanced_topics/architecture –

+0

我讀過了架構,但仍然有點困惑,因爲它明確指出,Android版Mono包含單聲道運行時。你所建議的是,翻譯的庫不會包含單聲道運行時,因此它不能被原生Android開發人員使用。那是對的嗎? – Santo