能否在Linux上运行Xamarin Mono?

44

我想知道是否有可能在Ubuntu上运行Xamarin。我不喜欢Java,所以我想用C#制作Android应用程序。

是否有适用于Ubuntu的软件包?因为我目前还没有看到这样的软件包。

或者......

我可以使用Wine在Ubuntu上运行Xamarin吗?

或者......

是否有一种替代软件(具有相同功能),可以在Ubuntu上运行?


3个回答

31

Xamarin已经在几个不同的场合声明,他们短期内没有计划支持Linux上的Xamarin Studio。 主要原因是:

  • 他们必须创建一个自包含的Mono运行时与IDE一起使用,因为不同版本的Linux会提供不同的Mono支持
  • 支持多个Linux版本的成本将超过收益
  • 缺乏商业需求来支付支持费用

7
是的,我已经在Mono网站上阅读过了,但我也想寻求其他选择。希望能提供另一个框架,可以让我使用C#编程,并且可以在Linux上使用。 - rqmok
11
这并没有回答问题。他问的是是否可能,而不是是否官方支持。此外,您没有列出任何有效的理由。第一个“理由”只有在支持多个Linux版本时才有效,这并不是问题所要求的。事实上,大多数商业软件只支持少数Linux发行版。第二个“理由”也是一样。最后一个理由实际上没有任何事实支持。这里没有缺乏商业需求的证据。事实上,我会立即购买,其他人是否愿意购买需要市场调研。 - user1657170
2
另一个框架可以选择MonoGame或Unity。两者都是C#和Linux。 - user1657170
5
支持多个Linux版本的成本将超过收益。抱歉我的措辞,但这是胡扯...他们只需要支持32位和64位,这只是编译方面的差异。不同发行版的本地安装支持将由各自发行版的人员进行管理。第一个原因也不是他们应该担心的事情,根据我在互联网上看到的,需求完全没有缺乏。这些只是借口。 - switch87
1
我不明白为什么支持Linux会成为问题。Monodevelop适用于大多数Linux发行版(Xamarin或发行版供应商都提供软件包)。Android插件应该通过Monodevelop的插件管理器安装,且应该与Linux发行版无关,是吧?因此,他们只需要创建一个Linux版本(或两个版本,x86和x86_64)。如果我想使用Monodevelop(或Xamarin Studio)开发Android应用程序,我需要购买Windows或购买带有MacOS的Mac电脑。我不想购买它们中的任何一个。我愿意为Monodevelop的Android插件付费。 - Martin Edlman

5

值得一提的是,至少在2011年,Xamarin的CTO Miguel de Icaza曾考虑过Xamarin支持单个Linux发行版。他非常易于接近,经常在IRC上回答问题。即使它不支持任何形式的GUI RAD,询问他们是否重新审视了这个选项也可能很有趣。

作为“不行,你不能在Linux上开发Xamarin”的替代方案,我经常考虑使用Linux上的MonoDevelop来开发我的无面、可共享的代码。在某种程度上,当我使用Windows笔记本电脑时,我已经在做类似的事情了。你不能使用Xamarin Studio在Windows上开发iOS应用程序,因此我会先创建一个简单的控制台项目,然后调用另一个库项目中的控制器。我更喜欢Visual Studio而不是Xamarin Studio(并且正在使用Starter和Indie许可证,因此我不能使用Xamarin for Visual Studio),所以我喜欢在Windows上进行无面开发。然后,在我“完成”(即准备好休息)无面开发之后,我会前往OS X上的Xamarin Studio,将其与我在那里创建的iOS UI stubs连接起来。

如果你想在Linux上为Android开发,这很容易实现,只有在开发UI和创建可分发文件时才需要使用Windows或OS X。诚然,UI通常是大量代码(至少比我预期的多),但你可以轻松地使用在Linux上开发的好的、经过良好分解的库来完成你一半或更多的编码。并且它强制你很好地分离你的关注点,这总是让我感激。

编辑: 我觉得应该指出 Mono-qua-Mono已经在Linux上运行。只是Xamarin的东西——与更流行的消费平台的粘合剂——不在Linux上。因此,你现在就可以在Linux上完美地运行Xamarin Mono,并且在Xamarin成为“事物”之前就一直能够运行。;^)


0

在Ubuntu上构建Xamarin.Android应用程序需要遵循以下几个步骤:

  1. 安装mono的alpha版本(当前为5.8),请参考网站中的说明(添加ppa密钥后也要重新安装mono-complete)。
  2. 按照以下存储库中的说明:https://github.com/xamarin/xamarin-android

这是一个缓慢的过程,需要下载自己的临时NDK和其他内容,但它应该能够工作。


“OSS Ubuntu” 构建失败。 - Aaron Franke
您可以从Xamarin团队的以下链接获取最新的Azure工件:https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android-linux/lastSuccessfulBuild/Azure/。他们在Linux端已经49天没有推送成功的构建了。总体而言,支持非常出色,但并不完全达到他们所声称的100%。 - gamesguru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接