Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows上Mono的优秀IDE_C#_Windows_Mono_Monodevelop_Sharpdevelop - Fatal编程技术网

C# Windows上Mono的优秀IDE

C# Windows上Mono的优秀IDE,c#,windows,mono,monodevelop,sharpdevelop,C#,Windows,Mono,Monodevelop,Sharpdevelop,我想在Windows上用C#为Win/Linux/Mac开发Mono应用程序。有没有真正好的(VisualStudio)IDE?如果我能管理visualc#Express使用Mono编译器编译解决方案,那就最好了 我发现了一个#developeIDE,它看起来非常酷,并且具有许多Visual Studio Express版所没有的功能(如用于OrtoiseSVN、NUnit等的插件)。Hovewer 3.*版本放弃了对Mono的支持,因此您无法再使用Mono编译器编译解决方案 还有一个MonoD

我想在Windows上用C#为Win/Linux/Mac开发Mono应用程序。有没有真正好的(VisualStudio)IDE?如果我能管理
visualc#Express
使用Mono编译器编译解决方案,那就最好了

我发现了一个
#develope
IDE,它看起来非常酷,并且具有许多Visual Studio Express版所没有的功能(如用于OrtoiseSVN、NUnit等的插件)。Hovewer 3.*版本放弃了对Mono的支持,因此您无法再使用Mono编译器编译解决方案

还有一个
MonoDevelop
。我试过了,很烂。根本无法与VisualStudio相比。没有WinForms designer,还有大量其他缺失的功能。我希望他们放弃MonoDevelop的开发,转而为#develop构建一个插件

是否有其他足够好的IDE,或者是否有可能使Visual C#Express或#develop使用Mono编译器编译解决方案

编辑:Delphi Prism看起来很酷,但它不是C#。

怎么样


请注意,它是一个商业插件。

您可以使用。但是,它是一种付费产品。

您始终可以使用Visual Studio Express Edition开发应用程序(因为您不想为Mono工具付费)。Monodevelop现在将支持VisualStudio解决方案的编译,所以只需在VS中开发,并偶尔在Monodevelop中重新编译以保证支持


由于Mono现在支持Windows窗体,所以您可以完全在Visual Studio中开发Windows窗体应用程序,并使用Mono进行部署。由于C#编译为IL,因此使用哪种IDE进行开发并不重要-您仍然可以在Mono上运行它。

虽然SharpDevelop 3.2不支持Mono开箱即用,但如果您下载,您可以找到包含Mono支持原始代码的代码示例。如果您构建了该示例,那么将在SharpDevelop中重新启用mono支持


由于只提供了对使用mono编译的支持,MonoDevelop现在可以在Windows上运行。请注意,SharpDevelop中的mono支持不提供mono调试器的任何集成调试,与MonoDevelop相比,没有GTK设计器。

我认为您最好使用VS C#Express进行开发,然后使用虚拟机(如VMWare、虚拟PC、VirtualBox等)访问Linux(这是MonoDevelop的主要平台,与VS相比,它在该平台上运行得非常好。)


甚至有很多人已经准备好了这样做。你甚至可以使用一张Live CD,然后重新启动机器进入Linux(Linux通常可以毫无问题地访问Windows分区)

等等--你正在开发一个跨平台的应用程序,你在抱怨缺少Windows窗体设计器?Mono中的跨平台GUI通常是用GTK或类似的东西而不是winforms来完成的。@BillyONeal:我读过,可以用winforms来设计.NET应用程序,它也可以在其他平台上运行。它看起来不太好ice,但如果我使用自定义控件,我可以管理它。#develope实际上是基于Windows的。如果你发现MonoDevelop很差劲,为什么不尝试改进它?@Lex Li MSFT:我没有时间改进MonoDevelop。而且还有太多需要改进的地方,我无法做任何其他事情。#重点是#develope在linux上不起作用,这就是mono develop存在的原因,也是它有GTK设计器而不是winforms设计器的原因。是的,我知道,但它不会在Express edition中运行。所以我不得不花几百美元买VisualStudio。我不完全理解Mono背后的概念。我将被要求使用MonoDevelop编译解决方案,并部署它生成的可执行文件,而不是VS生成的.exe,对吗?@Paja:No。这就是Mono和CIL的优点(这是用C#生成的)。您可以在Windows上使用Mono运行使用Visual Studio编译的程序,而无需重新编译。使用Mono编译只会帮助您确保您没有做Mono不支持的事情。。。如果你坚持使用标准的C#和Windows窗体,它倾向于在mono上“工作”,而不需要重新编译。@Reed Copsey:我在应用程序中使用SQLite,所以如果我想使用它,我就必须使用mono-SQLite,对吗?因此,我必须始终使用MonoDevelop来编译它。但是如果我不使用SQLite,我想我就不必这么做了。您需要引用SQLite的适当版本,因为它使用的是本机代码。我相信每个平台都有自己的版本。如果你使用的东西都是托管的(完全用C#编写),这就不会发生。根据这个:它看起来像是SQLite附带了Mono,所以我只需要引用Mono.Data.SQLite并使用它。但我无法在Visual Studio中引用该程序集:-(如果可能的话,我需要使用MonoDevelop(不久前尝试过)。是的,我已经尝试过了,我能够编译这个插件,但在运行插件和构建Mono项目时,出现了一些错误。我不会修复一个不再维护的插件。:-)我不希望你:)虽然它可能不在官方发行版中,如果你报告任何错误,我将修复它们。我不希望只修复一个错误,我希望插件得到维护。#develope是Windows上VS的最佳选择,但如果它完全支持Mono,它可能会更好。我从未编写过任何编译器/调试器,但将其添加到#develop中真的有那么难吗?作为编译器,您将使用Mono编译器,如果许可证允许,调试器可以从Mono Develop复制。它作为示例进行维护。该示例包括对使用mono编译器(C#和VB.NET)编译代码的支持。它不支持使用mono调试器调试代码。我还没有看过MonoDevelop的调试器,所以我不能说实现它需要多少努力。当然