Feasibility of C# development with Mono

后端 未结 7 975
小鲜肉
小鲜肉 2021-02-07 23:25

Recently, I came across Mono and MonoDevelop packages in Ubuntu linux. They claim to have a .NET runtime in accordance with CLI. Before installing the packages myself, I would l

相关标签:
7条回答
  • 2021-02-07 23:30

    1: pretty good, actually. Not all the full framework is there, so if you are writing code that should build on both MS .NET and mono, you need to build and test early against both platforms

    4: yes - although things like WPF/WCF/WF (3.0) are missing or slimmed down

    I don't know much about the development environment, since I use VSTS (on Windows) and just use a NANT script to do the build on mono...

    0 讨论(0)
  • 2021-02-07 23:44

    I use WinForms in mono. The 2.x releases are very good.

    I develop forms in visual-studio on windows, and run them in Linux, with zero code changes. Yes, forms look a little different than on XP, but then again, an XP-themed GUI would look kind of strange in GNOME.

    If you are just getting started, stick with WinForms, while you get comfortable with Mono/Linux. However at some point you might want to investigate GTK.

    0 讨论(0)
  • 2021-02-07 23:45
    1. Define "powerful".
    2. Mono has a WinForms implementation to allow for some level of source compatibility. However, depending on your needs, you might want to use one of the Mono bindings for a Linux native framework, like Gtk# or Qyoto
    3. Wouldn't know.
    4. Depends on what parts of .NET you mean. C# the language seems to be pretty current, things get fuzzier the closer you get to the enterprisey features as was already mentioned.

    To sum things up, if you'll be using Mono as a separate target platform, you're likely to have good results. If you want a no-code-changes-required .NET compatibility layer, less so.

    0 讨论(0)
  • 2021-02-07 23:47
    1. Mono is mighty powerful. It has all the .Net muscle on a very strong open source skeleton.

    2. When you say "develop GUI application for linux like developing WinForm applications for Windows" I understand that you are asking about a visual designer that will allow you to quickly create the UI. Yes, it is possible. MonoDevelop has Stetic - a built-in visual designer for Gtk#. There is also QyotoDevelop which enables QT support in MonoDevelop.

    3. Yes, MonoDevelop natively supports VS project/solution file format. You can use the same code base to compile your app with VS in .Net on Windows and win MD in Mono on Linux.

    4. Currently Mono supports C# 3.0 with some stuff beyond that already implemented and a lot in the pipeline.

    5. Yes, in many cases it is possible to run a .Net compiled app in Mono, however with MonoDevelop's support for VS solutions it doesn't really matter. It takes as much as pressing F7 to rebuild the whole project, so the effort is really negligible. The best tool for checking if your application can run in Mono is MoMA.

    0 讨论(0)
  • 2021-02-07 23:48
    1. (Strange, markdown starts the enumeration with one, even though I began with 2...)

    2. Yes, you can, but you're limited with 3rd-party components, because the internal implementation is different, and last time I checked (not very long ago), the Mono WinForms implementation made my test app look rather strange (owner-drawn list view). It is not really recommended, though Mono claims that it's now completely WinForms-2.0-compatible.

    3. MonoDevelop is/was a SharpDevelop branch, with the latter having solution support. I don't know if MonoDevelop has. But the cool thing is, you can just develop with Visual Studio and run your compiled apps on Mono. And Mono is, by the way, also available for Windows.

    4. Yes, it does, as far as the CLR goes. As Marc Gravell already wrote, the Windows Foundation libraries are missing, as are a few other (System.Management, for example). But things should mostly work, including ASP.NET 2.0. Mono's application portability guidelines are a good read on this.

    0 讨论(0)
  • 2021-02-07 23:49
    1. Very powerful. There are no major bugs in the core implementation. It is not a science project. The deficiencies are mostly where you would expect, the newest APIs (Microsoft inherently has a first-mover advantage there).

    2. Yes. We just finished a project where most of the GUI code was developed in WinForms on Windows. I was able to work on it using Ubuntu without major headaches. That said, this is one of the hardest parts of the API, and there are still issues. See http://mono-project.com/WinForms for details.

    3. Don't know, as I don't use it.
    4. Yes, though again, there may be some missing APIs in the runtime.

    Note, I use Ubuntu Hardy (8.04).

    0 讨论(0)
提交回复
热议问题