我该如何使用Visual Studio在Mono上开发应用程序?这是可行的吗?
我该如何使用Visual Studio在Mono上开发应用程序?这是可行的吗?
您只需在Visual Studio中构建应用程序,然后在Mono中运行它们,而不是在.NET下运行。二进制文件应该是兼容的......但是,您需要确保不使用在Mono中不可用的任何库-请参见 Mono应用程序兼容性指南。
(根据该页面的说明,您需要关闭Visual Studio中的增量构建-这是我之前不知道的一点 :)
我已经发布了一篇关于如何将Mono 2.8(.Net 4.0的构建版本)集成到Visual Studio 2010中的文章这里 - 那里有一个链接到另一个为Mono 2.4(.Net 3.5)构建的配置文件,如果那是你的目标。
您可以通过以下3个简单步骤集成新的Mono 2.8配置文件:
将配置文件 Zip 的内容解压缩到以下目录之一:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile
ZIP 中的“Mono”文件夹应直接位于“Profile”目录下。
如果 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框架的版本。)
自2.0版本起,MonoDevelop支持VisualStudio项目/解决方案文件格式。这意味着您可以在Windows上使用VS和.Net,在Linux上使用MonoDevelop和Mono来使用相同的代码库。在我看来,这是最好的方法。除了测试目的外,在Windows上运行应用程序没有其他主要原因,为此我宁愿设置虚拟机以在本地环境中测试软件。
这里是我对所有可用的可能性进行编译的答案,以针对Windows上的Mono。但是,它专注于Mono x86。 总之,让我们列出VS开发的可能选择:
对于Android / Ios,您还可以使用Xamarin插件在Visual Studio中进行交叉编译和调试。虽然它不适用于商业大型应用程序,但有一个免费版本可用于制作小型应用程序。
注意:对于那些想知道为什么我想在Windows上的Visual Studio中开发,而不是在Unix上的MonoDevelop中开发的人,让我们说一下,在MonoDevelop中的开发体验无法与VS相比(特别是当涉及到调试器/重构时,最后由于Resharper而不是VS本身)。