Windows上Mono开发的最佳设置是什么?

我开始尝试与Mono一起玩,目前主要是为了娱乐。我首先尝试使用Visual Studio插件将csproj转换为makefile,但似乎没有可用于Visual Studio 2005的版本。我还阅读了有关MonoDevelop IDE的内容,听起来不错。不幸的是,它没有预制的Windows包。我试图按照一些说明来组合来自其他半相关安装的依赖关系来构建它。它没有工作,但这可能是因为我是一个面向Windows的人,几乎不能拼写“makefile”。

所以,我的问题是:在Windows上尝试一些基于Mono的开发的最低能耗方法是什么?

0
额外 编辑
意见: 2

10 答案

@Chris我发现Visual Studio是针对.NET进行开发的最佳IDE--我认为最好的方法是实现在Mono下开发和构建Visual Studio,然后直接在Linux上运行这些二进制文件您正在使用的其他Mono平台)。如果许可是一个问题,则有免费版本的Visual Studio。如果你在Linux下开发,最好的软件可能是带Mono插件的Eclipse(参见 The Mono Handbook - Eclipse 获取安装说明),但请记住,它没有接近Visual Studio具有的功能或语言集成数量。

@modesty Mono是.NET框架的第三方开源实现,它允许您在Windows以外的平台上运行.NET应用程序。

0
额外

我建议使用VMWare Player并使用网站上提供的免费Mono开发平台映像。

下载Mono

这样做的安装时间很短,它还可以让您的代码在.NET中工作,然后专注于移植问题,而无需交换机等大量麻烦。 VMWare播放器工具将允许您简单地拖放文件以复制它们。

我正在寻找一些.NET应用程序,并使它们符合Mono标准,这就是我很快将要采用的方法。

0
额外

我喜欢尝试使用MonoDevelop的想法,主要是为了确保我的东西能够对付Mono运行时。我想也可以用msbuild疯狂并编写一些试图针对Mono构建的自定义目标,但这基本上是模拟现在已经不存在的插件的功能,我认为这些功能是非常重要的。我对cygwin有一些小的经验,我很高兴整天地输入“configure”和“make”,但是当这个过程出现问题时,我几乎被搞砸了。我可能会试着再玩一次,但如果我花了几个小时的时间想出一个方法来对抗Mono运行时,我可能会保释。

我会尝试Eclipse的想法。我将它用于Java,所以我可能能够使C#的东西工作。我们将看到...

0
额外

如果使用Visual Studio for Mono进行开发,您可以做的最好的事情之一是让MoMA http:// www .mono-project.com /现代艺术博物馆。这将检查您构建的任意数量的程序集并生成显示潜在的单声道问题的报告(例如,未在单声道库中实现的方法)。它可以从GUI或命令行运行以用于自动构建。

0
额外

就我个人而言,我只是在Visual Studio 2008中进行编译,就好像它是用于.Net 2.0,然后在Mono中运行一样(VirtualBox中的VS2008,OSX上的Mono)。无论如何,所有问题都会在运行时出现,因此系统运行良好。

我刚刚发现这个非常新的链接,这是惊人的,并向您展示如何为Mono设置Visual Studio 2008。

与此同时,在VirtualBox中的OpenSuse或Ubuntu上设置 Mono (Sun的产品)很容易,无痛苦,并且不会强迫你放弃你通常居住的任何平台。

这与你的问题没有关系,但我可能会注意到,我刚刚进入Mono,并且惊讶于实现了多少.Net,包括很多WinForms的东西。

0
额外

Miguel有一篇关于调试在Visual Studio上运行的Mono的远程调试的文章。这可能是你想研究的内容...... 使用Visual Studio调试Mono 。还有一个名为 CloverLeaf < a>,其目标是在Visual Studio中启用在Windows上调试Mono。

0
额外

一年后,这个问题的答案发生了很大变化。您现在可以在Windows上使用 MonoDevelop ,或者如果您在Visual Studio中更加舒适,则可以使用 Visual Studio Tools 编写所有内容,然后在VM上调试以确保它在Linux上正常工作。

0
额外

Mono的Eclipse插件已经死了。在Linux上使用 MonoDevelopX-Develop 如果你喜欢良好的商业支持(尽管MonoDevelop快速关闭它们)。在Windows上 SharpDevelop 具有用于编译Mono代码的自定义MSBuild目标。

由于Mono和MonoDevelop的变化速度很快,所以一定要使用最新发布的版本,即使它们没有被标记为稳定版本(例如,与Ubuntu股票一起发布的版本都非常过时)。

VMWare映像是开始在Linux上测试Windows开发的代码的好方法。除非你已经非常适合,否则不要碰cygwin。

0
额外

没有理由使用Mono构建您的应用程序; .Net CLR的重点在于编译后的输出是跨平台的。

所以你可以简单地用你最喜欢的IDE来构建它(如果你喜欢IDE,微软是最好的IDE),然后在Mono上测试它。即使你使Mono在Windows上工作,它也不会很好地测试你的应用程序的可移植性:如果你的应用程序做了一些愚蠢的事情,比如假设文件名中有反斜杠,或者对于名为Program Files的文件夹有什么特别之处?进行可移植性测试的最佳方式是实际在目标平台上测试您的应用程序。

这对使用Linux的VMware播放器非常简单,比如 http:/ /www.go-mono.com/mono-downloads/download.html

0
额外

我的第一本能是“安装Linux”,而且毫无帮助。你有些游泳与目前一起尝试和开发单声道视窗。安装GTK和一切对我的经验来说都有点麻烦。

If you do feel like using linux, then you could Try Ubuntu

除此以外:

There's some information here: http://www.mono-project.com/Mono:Windows and it seems the cygwin toolchain might be your best bet. I don't think you're going to be able to avoid makefiles, sadly. I found a slightly more explicit tutorial from O'Reilly.

@谦虚:

Mono提供必要的软件来在Linux,Solaris,Mac OS X,Windows和Unix上开发和运行.NET客户端和服务器应用程序。由Novell赞助( http://www.novell.com ),Mono开源项目有一个活跃的热心的贡献社区,并定位于成为Linux应用程序开发的领先选择。
-- From the Mono site.
0
额外