使用Mono将C#.NET应用程序移植到OSX?好吧,我正在写一个我想跨平台的应用程序。直到最近,我一直在尝试使用C#在Silverlight中执行此操作,因为它也可以在OSX上运行,但我对C#相当生疏,而且除了是Silverlight的新手之外,我还感到头疼又头疼。这在很大程度上源于设计为在浏览器中运行的应用程序所施加的限制,当从我的开发服务器直接从file://等运行时,它的行为会有所不同。我宁愿完全放弃对OSX支持的整个想法,而不是为OSX完全重写应用程序,特别是因为我完全没有为它编写的经验。我想要做的是使用VisualStudioforWindows在C#.NET中编写一个常规应用程序,然后使用Mono轻松地将它移植到OSX。使用Mono将.NET应用程序引入OSX有多难?我的应用程序非常简单,没有关于表单或任何东西的异国情调,所以我不得不假设它在Mono的WinForms实现中得到支持。关于如何使用Mono移植应用程序有什么好的资源吗?或者,也许,我错过了重点,它只是让你在OSX上运行.NET应用程序,而我不需要打扰移植?请原谅我对这个问题的无知,在10分钟前开始考虑在Silverlight中遇到另一个烦人的限制后,我才走这条路。我将是第一个承认我对此一无所知的人,所以请温柔点……?您可能对MonoMac的其他答案中提到的MoMa公寓感兴趣。随着MonoTouch(为iPhone编写c#)的成功,现在还有一个名为MonoMac的项目,用于在后台使用.net/mono的同时为OSX创建本机UI。您可能对http://www.mono-project.com/MonoMac感兴趣,MigueldeIcaza博客上的文章:http://tirania.org/blog/archive/2010/Apr-19.html除了已经拥有话虽如此,鉴于Mono支持全部.NET功能的子集,如果目标是在两者上运行,我可能更愿意在Mono上开发然后针对Microsoft的运行时进行测试。否则,您可能会无意中使用一些Mono中不可用的功能,并且在跨平台构建和测试时不得不抛出大量代码。Mono项目有一个专门介绍如何移植应用程序的页面,http://mono-project.com/Guidelines:Application_Portability但是,这还不够,因为您的应用程序在很多方面都是独一无二的。尝试移植它并在必要时向Mono人员报告问题。此外,如果您在一家公司工作,请考虑Mono的商业支持服务,http://mono-project.com/Support有几件事您应该牢记。你必须移植任何平台使用的unpdendentUI代码不要使用依赖于平台的操作系统调用(win32api)一般不要使用“奇特的”库(如工作流,不幸的是ef):抽象依赖于这样的代码,所以你可以轻松地将它们替换为特定于单个库的。(一种可建议的模式是MVVM)。有一个名为MoMA的工具可以帮助您完成这一切。但是,对结果持保留态度。无论如何,试一试。以上就是C#学习教程:PortingC#.NETapplicationstoOSXusingMono?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
