在OSX和Mono上使用C#进行开发

Pab*_*dez 11 c# macos mono

我即将开始一个需要我编写c#代码的项目.问题是,我有一个mac.

我想知道在OSX 10.6上使用mono进行c#开发是否存在任何陷阱

我认为页面很清楚,实现很清晰,但另一方面我读过人们安装VMWare或类似的东西来使用Windows.如果可能的话,我想避免这种情况.

注意

我将在一个团队工作,所有其他人都有Windows机器

谢谢

Mic*_*ins 6

根据您对HiVoltRock的回答(ASP.NET开发)的评论,我会说Mono 2.10.1MonoDevelop会很好(MonoDevelop的稳定版本运行得很好,但是对于OS XI的开发更喜欢使用最新版本我从Git编译的版本).

有一些事情需要考虑,例如文件路径(即:如果windows开发人员正在编写静态路径,例如ApplicationsInstallDirectory + "\data\templates\foo.bar";你会遇到问题,因为Mac OS上的目录分隔符是正斜杠.如果现有代码使用P/Invoke或其他特定Window的功能,你将遇到麻烦.

最后,如果您的代码库使用需要Windows的第三方库,则可能会导致问题.

作为参考,我们的产品从第一天开始就被设计为要求它在Linux或OS X上的Mono上运行.考虑到这一点,我们确保考虑到跨平台执行的所有内容.如果您要加入现有产品,可能没有给出相同的注意事项,这意味着许多现有代码与Mono不兼容.

单迁移分析器可以帮助确定,如果你有任何不兼容的代码.

在Mono下有一些关于开发的热门话题.我们的项目是使用Razor的MVC3,使用NHibernate,StructureMap等运行.NET 4,并且在非Windows机器上开发的问题并不多.

  • 还应该提到我们使用Windows和Mac机器的混合.我们在两个环境中使用相同的sln和csproj文件,以及相同的msbuild脚本(尽管Mono使用xbuild来运行它们).没有任何"单声道人员在他们的项目中添加了一个文件,但忘了将其包含在Windows版本中"或任何令人讨厌的东西. (3认同)