使用Visual Studio开发Mono应用程序

29

我该如何使用Visual Studio在Mono上开发应用程序?这是可行的吗?


1
大家好,有人可以解释一下为什么这个问题被降级了吗?谢谢。 - Josh
您可以随时将程序集复制到Linux并进行测试。在Windows上使用Moma检查程序集甚至更容易。Delphi Prism甚至在Visual Studio中为Pascal语言提供了这样的支持。 - Lex Li
6个回答

24

您只需在Visual Studio中构建应用程序,然后在Mono中运行它们,而不是在.NET下运行。二进制文件应该是兼容的......但是,您需要确保不使用在Mono中不可用的任何库-请参见 Mono应用程序兼容性指南

(根据该页面的说明,您需要关闭Visual Studio中的增量构建-这是我之前不知道的一点 :)


7
Microsoft框架和Mono之间API不兼容的问题不止几个,最好使用Visual Studio 2010中为Mono构建的配置文件。这样可以避免运行时错误,转而获得编译器错误。 - Greg Hurlman

4

请查看此文,了解如何在VS中针对mono框架运行您的应用程序。


3

Miguel在一段时间前发布了这篇文章,所以它已经有些过时了。你也可以尝试使用这个这个(万岁Web Archive!)


我建议你尝试运行它。请告诉我们它的运行情况如何... - Friedrich
1
@PDFsharpTeam 更新了链接。虽然有些图片丢失了,但没关系。 - Anton Gogolev

1

我已经发布了一篇关于如何将Mono 2.8(.Net 4.0的构建版本)集成到Visual Studio 2010中的文章这里 - 那里有一个链接到另一个为Mono 2.4(.Net 3.5)构建的配置文件,如果那是你的目标。

您可以通过以下3个简单步骤集成新的Mono 2.8配置文件:

  1. 这里下载配置文件本身。
  2. 将配置文件 Zip 的内容解压缩到以下目录之一:

    • 32 位系统:C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
    • 64 位系统:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
  3. ZIP 中的“Mono”文件夹应直接位于“Profile”目录下。

  4. 如果 Visual Studio 已经在运行,请重新启动它,打开要与 Mono 一起使用的项目的属性,并选择 Mono Profile for 2.8:

注意:您将无法直接从“新建项目”对话框中选择 Mono Profile;由于某种原因,该配置文件列表不匹配。首先将项目创建为 .Net Framework 4.0 项目,然后在创建后将项目属性设置为 Mono。

如果您已将MonoDevelop安装升级到最新版本(截至今天),则此Visual Studio解决方案和项目文件将无需任何更改即可打开。

如果您遇到需要.NETFramework,Version=v4.0,Profile=Mono才能运行应用程序的问题,则诀窍是创建注册表键。

对于运行Windows 7 x64,它是:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono

我想对于x86,它是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono

(其中v4.0.30319将是当前安装的4.0框架的版本。)


1

自2.0版本起,MonoDevelop支持VisualStudio项目/解决方案文件格式。这意味着您可以在Windows上使用VS和.Net,在Linux上使用MonoDevelop和Mono来使用相同的代码库。在我看来,这是最好的方法。除了测试目的外,在Windows上运行应用程序没有其他主要原因,为此我宁愿设置虚拟机以在本地环境中测试软件。


0

是的,您可以在Visual Studio上开发并针对Mono(Mono for x86)进行开发。

这里是我对所有可用的可能性进行编译的答案,以针对Windows上的Mono。但是,它专注于Mono x86。 总之,让我们列出VS开发的可能选择:

  • MonoHelper插件
  • Mono Profile

对于Android / Ios,您还可以使用Xamarin插件Visual Studio中进行交叉编译和调试。虽然它不适用于商业大型应用程序,但有一个免费版本可用于制作小型应用程序。

注意:对于那些想知道为什么我想在Windows上的Visual Studio中开发,而不是在Unix上的MonoDevelop中开发的人,让我们说一下,在MonoDevelop中的开发体验无法与VS相比(特别是当涉及到调试器/重构时,最后由于Resharper而不是VS本身)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接