35

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

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

4

10 回答 10

15

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

下载单声道

设置时间将非常短,并且它还允许您让您的代码在 .NET 中运行,然后专注于移植问题,而无需大量的切换机器之类的麻烦。VMWare Player 工具将允许您简单地将文件拖放到上面来复制它们。

我正在寻找一些我的 .NET 应用程序并使它们与 Mono 兼容,这就是我很快将要采取的路径。

于 2008-08-05T22:43:57.013 回答
11

一年后,这个问题的答案发生了很大变化。您现在可以在 Windows 上使用MonoDevelop,或者如果您更熟悉 Visual Studio,您可以使用Visual Studio 工具编写所有内容,然后在 VM 中进行调试以确保它在 Linux 上运行。

于 2009-12-08T16:48:16.117 回答
9

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

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

于 2008-08-05T21:23:45.490 回答
6

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

于 2008-08-08T14:29:04.727 回答
4

Miguel 有一篇关于调试在 linux 上运行的 Mono 以及在 Visual Studio 上进行远程调试的帖子。这可能是您想要研究的内容... 使用 Visual Studio 调试 Mono。还有一个名为CloverLeaf的新项目,其目标是在 Visual Studio 中启用 Windows 上的 Mono 调试。

于 2008-09-08T13:28:56.417 回答
4

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

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

使用 Linux VMware 播放器(如http://www.go-mono.com/mono-downloads/download.html中的播放器)很容易做到这一点。

于 2008-09-15T17:37:24.450 回答
4

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

我刚刚发现了这个非常新的链接,它非常棒,它向您展示了如何为 Mono 设置 Visual Studio 2008。

同时,在 VirtualBox(Sun 的产品)内的 OpenSuse 或 Ubuntu 上设置 Mono非常简单、轻松,并且不会强迫您放弃通常使用的任何平台。

这与您的问题无关,但我可能会注意到我刚刚进入 Mono 并且我对实现了多少 .Net 感到惊讶,包括许多 Winforms 的东西。

于 2009-07-31T12:55:16.267 回答
3

我的第一直觉是相当无用的“安装 Linux”。你有点逆流而上,试图在 windows 下进行单声道开发。根据我的经验,安装 GTK 和一切都有点麻烦。

如果您确实喜欢使用 linux,那么您可以尝试 Ubuntu

除此以外:

这里有一些信息:http://www.mono-project.com/Mono:Windows似乎cygwin工具链可能是你最好的选择。遗憾的是,我认为您将无法避免使用 makefile。我从O'Reilly找到了一个更明确的教程。

@谦虚:

Mono 提供了在 Linux、Solaris、Mac OS X、Windows 和 Unix 上开发和运行 .NET 客户端和服务器应用程序所需的软件。Mono 开源项目由 Novell ( http://www.novell.com ) 赞助,拥有一个活跃而热情的贡献社区,并定位为 Linux 应用程序开发的首选。
-- 来自 Mono 网站。

于 2008-08-05T21:27:58.183 回答
3

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

由于 Mono 和 MonoDevelop 变化很快,请务必使用最新发布的版本,即使它们尚未标记为稳定(例如,库存 Ubuntu 附带的版本非常过时)。

VMWare 映像是开始在 Linux 上测试 Windows 开发代码的好方法。不要碰 cygwin,除非你已经非常熟悉它了。

于 2008-08-28T10:19:00.317 回答
1

我喜欢尝试使用 MonoDevelop 的想法,主要是为了确保我的东西可以在 Mono 运行时运行。我想也有可能对 msbuild 感到疯狂并编写一些自定义目标来尝试针对 Mono 进行构建,但这基本上是在模拟现在已经失效的插件的功能,我认为构建这些功能并非易事。我确实对 cygwin 有一点经验,我很高兴整天输入“配置”和“制作”,但是当这个过程中出现问题时,我几乎被搞砸了。我可能会再次尝试使用这一切,但如果我需要几个多小时才能想出一种方法来轻松地构建 Mono 运行时,我可能会放弃。

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

于 2008-08-05T22:37:07.107 回答