MonoDevelop

针对C#、F#等的跨平台IDE。(Cross platform IDE for C#, F# and more. )

Github stars Tracking Chart

MonoDevelop使开发人员能够在Linux、Windows和Mac OS X上快速编写桌面和Web应用程序。它还使开发人员能够轻松地将使用Visual Studio创建的.NET应用程序移植到Linux和Mac OS X,从而为所有平台维护单一代码库。

对于Mac和Windows,您可以下载Xamarin Studio,它是一个捆绑了Xamarin iOS/Android插件和品牌的MonoDevelop。 请注意,只有在开发iOS /Android项目时,才需要Xamarin许可证,所有其他项目类型都是免费的,没有限制。

功能亮点
  • 多平台
    • 支持Linux、Windows和Mac OS X。
  • 高级文本编辑
    • 代码完成支持C#,代码模板,代码折叠。
  • 可配置工作台
    • 完全可定制的窗口布局,用户定义的键绑定,外部工具
  • 多语言支持
    • C#,F#,Visual Basic .NET,C/C++,Vala
  • 集成调试器
    • 用于调试mono和本机应用程序
  • GTK#可视化设计器
    • 轻松构建GTK#应用程序
  • ASP.NET
    • 创建具有完整代码完成支持和测试的Web项目,XSP是Mono Web服务器。
  • 其他工具
    • 源控制,makefile集成,单元测试,打包和部署,本地化

Overview

Name With Ownermono/monodevelop
Primary LanguageC#
Program languageC# (Language Count: 17)
PlatformLinux, Mac, Windows
License:
Release Count558
Last Release Namemonodevelop-8.4.3.12 (Posted on 2020-01-28 22:29:44)
First Release Namemonodevelop-0.8 (Posted on )
Created At2010-07-22 16:09:08
Pushed At2021-10-04 08:31:06
Last Commit At
Stargazers Count2.8k
Watchers Count198
Fork Count1k
Commits Count65.1k
Has Issues Enabled
Issues Count1591
Issue Open Count572
Pull Requests Count6838
Pull Requests Open Count83
Pull Requests Close Count1177
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

MonoDevelop is a full-featured integrated development environment (IDE) for mono using Gtk#.

The MonoDevelop core is also the foundation for Visual Studio for Mac.
Feel free to file bugs against Visual Studio for Mac here as well.

See http://www.monodevelop.com for more info.

Build Status

Gitter

Directory organization

There are two main directories:

  • main: The core MonoDevelop assemblies and add-ins (all in a single
    tarball/package).
  • extras: Additional add-ins (each add-in has its own
    tarball/package).

Compiling

If you are building from Git, make sure that you initialize the submodules
that are part of this repository by executing:
git submodule update --init --recursive

If you are running a parallel mono installation, make sure to run all the following steps
while having sourced your mono installation script. (source path/to/my-environment-script)
See: http://www.mono-project.com/Parallel_Mono_Environments

To compile execute:
./configure ; make

There are two variables you can set when running configure:

  • The install prefix: --prefix=/path/to/prefix

    • To install with the rest of the assemblies, use:
      --prefix="pkg-config --variable=prefix mono"
  • The build profile: --profile=profile-name

    • stable: builds the MonoDevelop core and some stable extra add-ins.
    • core: builds the MonoDevelop core only.
    • all: builds everything
    • mac: builds for Mac OS X

PS: You can also create your own profile by adding a file to the profiles directory containing a list of the directories to build.

Disclaimer: Please be aware that the 'extras/JavaBinding' and 'extras/ValaBinding' packages do not currently work. When prompted or by manually selecting them during the './configure --select' step, make sure they stay deselected. (deselected by default)

Running

You can run MonoDevelop from the build directory by executing:
make run

Debugging

You can debug MonoDevelop using Visual Studio (on Windows or macOS) with the
main/Main.sln solution. Use the DebugWin32 configuration on Windows and the
DebugMac configuration on macOS.

Installing (Optional)

You can install MonoDevelop by running:
make install

Bear in mind that if you are installing under a custom prefix, you may need to modify your /etc/ld.so.conf or LD_LIBRARY_PATH to ensure that any required native libraries are found correctly.

(It's possible that you need to install for your locale to be
correctly set.)

Packaging for OS X

To package MonoDevelop for OS X in a convenient MonoDevelop.app
file, just do this after MonoDevelop has finished building (with
make): cd main/build/MacOSX ; make app.
You can run MonoDevelop: open MonoDevelop.app or build dmg package: ./make-dmg-bundle.sh

Dependencies

Special Environment Variables

BUILD_REVISION

If this environment variable exists we assume we are compiling inside wrench.
We use this to enable raygun only for 'release' builds and not for normal
developer builds compiled on a dev machine with 'make && make run'.

Known Problems

"The type `GLib.IIcon' is defined in an assembly that is not referenced"

This happens when you accidentally installed gtk-sharp3 instead of the 2.12.x branch version.
Make sure to 'make uninstall' or otherwise remove the gtk-sharp3 version and install the older one.

xbuild may still cache a reference to assemblies that you may have accidentally installed into your mono installation,
like the gtk-sharp3 as described before. You can delete the cache in $HOME/.config/xbuild/pkgconfig-cache-2.xml

References

MonoDevelop website

Gnome Human Interface Guidelines (HIG)

freedesktop.org standards

Discussion, Bugs, Patches

monodevelop-list@lists.ximian.com (questions and discussion)

monodevelop-patches-list@lists.ximian.com (track commits to MonoDevelop)

monodevelop-bugs@lists.ximian.com (track MonoDevelop bugzilla component)

https://github.com/mono/monodevelop/issues/new (submit bugs and patches here)

To the top