如何使用Xamarin或Mono在多个平台上提供c#.net项目?

时间:2014-11-13 08:35:33

标签: c# .net mono xamarin xamarin-studio

我有一个用.net框架编写的visual c#项目。我知道.net会生成一个仅在Windows上运行的.exe文件。 我想在Mac和/或Linux上运行我的c#项目,而不仅仅是Windows。 我没有太多的软件开发经验,但我被告知要尝试使用Mono和/或Xamarin才能在跨平台上运行项目。

我已经下载并玩过Mono和Xamarin,但无法找到一种方法来渲染"一个可在跨平台上运行的版本。

有人能解释一下这是如何工作的,也许是一个完整的程序来获得所需的产品吗?

无论如何,谢谢你。 一个困惑但有动力的学生

2 个答案:

答案 0 :(得分:2)

mono / xamarin.ios / xamarin.android仅提供完整.net运行时的子集。另外,根据您选择的mac-os / ios等版本,您可能还有一个较小的子集。

您需要准确了解要支持的每个操作系统的版本,然后尝试围绕常用功能构建程序/应用程序。如果您使用了不可用的功能,则需要以适用于所有功能的方式重写它们,或者为每个功能编写特定于平台的代码,并通过接口使用它们。

除非您对个别问题更具体,否则很难帮助您。查看与您的应用程序类似的xamarin示例应用程序并尝试遵循其指南可能更容易。他们可能使用了更好的实践,这将有助于您在此过程中学习。

修改

单声道实现here的功能的比较列表。您将不得不深入了解哪个版本适合您,我没有使用单声道,只使用xamarin变体。

答案 1 :(得分:1)

http://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/introduction_to_portable_class_libraries/

此链接将有助于解释便携式类库。基本上创建了一个与android,windows phone和ios兼容的库。 (这是一个库(.dll)而不是.exe输出,就像你说的那样,你被误认为visual studio只有一个.exe输出)。如果你在xamarin中设置一个可移植的类库项目,它将设置一个能够渲染android,WP和ios的默认项目。

这是帮助您在Xamarin中设置可移植类库项目的另一个链接:http://developer.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications/part_3_-_setting_up_a_xamarin_cross_platform_solution/