Hubbry Logo
MonoDevelopMonoDevelopMain
Open search
MonoDevelop
Community hub
MonoDevelop
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
MonoDevelop
MonoDevelop
from Wikipedia
MonoDevelop
DevelopersXamarin (a Microsoft subsidiary) and the Mono community
Stable release
7.6.9.22 / September 21, 2018; 7 years ago (2018-09-21)[1]
Repository
Written inC#[2]
Operating systemWindows, macOS, Linux[3]
Available inMultilingual[which?]
TypeIntegrated development environment
Licensecore: LGPLv2, portions of the code and add-ins: MIT X11[4]
Websitewww.monodevelop.com

MonoDevelop (also known as Xamarin Studio) is a discontinued[citation needed] open-source integrated development environment for Linux, macOS,[5] and Windows.[6] Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI), and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic.[7] It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript, and Visual Basic.NET.[8][9][10] Although there is no word from the developers that it has been discontinued, nonetheless, it hasn't been updated in 4 years[11] and is no longer installable on major operating systems, such as Ubuntu 22.04 and above.

MonoDevelop can be used on Windows, macOS, and Linux. Officially supported Linux distributions include CentOS, Debian, Fedora, openSUSE, SUSE Linux Enterprise, Red Hat Enterprise Linux, and Ubuntu, with many other distributions providing their own unofficial builds of MonoDevelop in their repositories.[3] macOS and Windows have been officially supported since version 2.2.[12]

MonoDevelop has included a C# compiler (an alternative to MSBuild and CSC) since its earliest versions. It currently includes a compiler that supports C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, and C# 6.0.[13]

A customized version of MonoDevelop formerly shipped with Windows and Mac versions of Unity, the game engine by Unity Technologies.[14][15] It enabled advanced C# scripting, which was used to compile cross-platform video games by the Unity compiler.[16] It has since been replaced by Visual Studio Community,[17] except on Linux versions.

History

[edit]

In late 2003, a group of developers from the Mono community began migrating SharpDevelop, a successful .NET open source IDE from Windows Forms on Windows to the GNOME toolkit (Gtk#) on Linux.[18] The fork was also to target the Mono framework instead of the Microsoft .NET Framework implementation.[19] Being an early fork of SharpDevelop, MonoDevelop architecturally differs from recent SharpDevelop releases.[20]

Over time, the MonoDevelop project was absorbed into the rest of the Mono project and as of 2016, is actively maintained by Xamarin and the Mono community. Since Mono 1.0 Beta 2, MonoDevelop is bundled with Mono releases.[21][22]

Starting with version 4.x, Xamarin rebranded MonoDevelop as Xamarin Studio, but only for the Windows version of the IDE.[23][24] As of 2016, Xamarin Studio also runs on macOS.[25]

In October 2021, it was announced in the issue tracker that the project would be archived because it's no longer maintained.[26]

Features

[edit]

MonoDevelop is an IDE for the .NET platform with features comparable to Microsoft Visual Studio. Highlights include:[27][28][18][19]

  • Multi-platform IDE and user projects (Linux, Windows and macOS)
  • Multi-language (C#, F#, Visual Basic .NET, C/C++, Vala, JavaScript, TypeScript)
  • Project templates for C#, Visual Basic, Boo, Java (IKVM) and C/C++
  • Code completion support for C#, code templates, code folding
  • Customizable window layouts, user defined key bindings, external tools
  • Integrated Debugger for debugging Mono and native applications
  • Integrated Compiler (supports up to C# 6.0)
  • GTK# Visual Designer to graphically build GTK# user interfaces
  • ASP.NET web projects with code completion support and testing on XSP (Mono web server).
  • Source control, makefile integration, unit testing, packaging and deployment, localization

UI Builder

[edit]

MonoDevelop has included a GTK# GUI designer called Stetic since version 0.1.[29][7][30][31] to develop GTK+ user interfaces in C#. Stetic is very similar to Glade Interface Designer but is integrated into MonoDevelop with features such as drag and drop. It has been criticized for being more difficult to work with than the likes of Qt Designer and the Microsoft Visual Studio Windows Forms Editor when the programmer does not yet have a concrete layout in mind.[32]

Xamarin Studio

[edit]

Xamarin offers a rebranded version of MonoDevelop 4.0 as Xamarin Studio which now uses platform-specific code in various places to enhance the look and feel.[33] While Mono provides a package for Solaris 10 running on SPARC,[34] MonoDevelop packages for OpenSolaris are only provided by groups from the OpenSolaris community.[35] MonoDevelop on FreeBSD is likewise supported only by the FreeBSD community.[36]

Visual Studio for Mac

[edit]

Another rebranded version of MonoDevelop is Visual Studio for Mac. Visual Studio for Mac employs many of the same tools as its Windows counterpart: for example, the Roslyn .NET Compiler Platform is used for refactoring and IntelliSense. Its project system and build engine use MSBuild; and its source editor supports TextMate bundles. It uses the same debugger engines for Xamarin and .NET Core apps, and the same designers for Xamarin.iOS and Xamarin.Android.

On August 30, 2023, Microsoft announced that Visual Studio for Mac is in the process of discontinuation, with 17.6 being the last version supported until August 31, 2024.[37][38][39][40][41][42][43]

See also

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
MonoDevelop was an open-source (IDE) designed for developing cross-platform applications using the Mono implementation of , with primary support for languages including C#, F#, VB.NET, and Vala on , Windows, and macOS. Key features included advanced code editing with real-time parsing, autocompletion, and for C# and VB.NET; an integrated for both managed and native code; a configurable workbench allowing custom layouts, key bindings, and external tool integration; and specialized tools such as a GTK# visual designer, project templates with an embedded XSP , control integration, frameworks, and application packaging capabilities. Originally initiated as an extension of the IDE to support Mono, MonoDevelop reached its first stable release (version 1.0) in March 2008, focusing initially on and applications for and macOS users. It evolved to facilitate porting .NET applications from Microsoft to open-source environments, enabling single-codebase development across platforms. It was rebranded as Xamarin Studio in 2013 before evolving into for Mac. The IDE became integral to the Xamarin ecosystem after Novell's acquisition of the Mono project in 2003 and subsequent developments, serving as the core foundation for Xamarin Studio (introduced in 2011) and later Visual Studio for Mac (launched in 2016 by Microsoft following its acquisition of Xamarin in 2016). MonoDevelop was also bundled as the default IDE with Unity game engine versions prior to 2018. Development continued until early 2020, with the last official (version 7.6) in 2018; the project's repository was archived in October 2021, marking its discontinuation and shift to read-only status, though community forks like DotDevelop have attempted to revive it. Following the retirement of for Mac in August 2024, MonoDevelop's legacy influences persist in Microsoft's .NET cross-platform tooling, but no active maintenance is provided.

History

Origins and Initial Development

The Mono project, launched on June 30, 2001, by and his team at Ximian, sought to implement an open-source version of Microsoft's for and other systems, providing a runtime environment for C# and related languages on non-Windows platforms. As a key component of this initiative, MonoDevelop was developed as the project's primary (IDE), tailored for cross-platform .NET development with a focus on integration. In late 2003, developers within the Mono community initiated MonoDevelop by forking and migrating the Windows-based SharpDevelop IDE, originally created by Mike Krüger and the Alpha Sierra Papa team, to make it suitable for Linux users seeking a C# development tool with features like IntelliSense. Pedro Abelleira led the initial porting effort, extracting SharpDevelop's core editor and IntelliSense engine and rewriting the user interface using Gtk# instead of Windows.Forms, as the latter was not yet available in Mono. Todd Berman then assumed maintenance responsibilities, aiming for basic usability by the end of 2003, while the project emphasized GNOME desktop integration to align with Linux workflows. The first alpha release of MonoDevelop arrived in , concentrating on essential code editing capabilities for Mono and .NET applications on non-Windows platforms, including basic and through the ported components. Development progressed with contributions from developers like Lluis Sanchez, who integrated Glade-3 for GUI design support, though early versions faced delays in stabilizing the interface due to evolving Mono libraries. MonoDevelop achieved a stable milestone with its 1.0 release on March 14, 2008, marking the IDE's readiness for broader use and introducing a customizable workbench, configurable key bindings (including schemes mimicking and ), and foundational support for C# projects with and refactoring tools. Despite these advances, early versions were constrained by limited features relative to Microsoft's , such as incomplete debugging and deployment options, and the team prioritized GNOME-centric enhancements to overcome platform-specific hurdles in environments.

Growth and Community Adoption

Following its initial development, MonoDevelop experienced steady growth through a series of major releases that enhanced its functionality and accessibility, driven by community contributions and evolving needs in the open-source ecosystem. The release of MonoDevelop 2.0 in March 2009 marked a significant advancement, introducing per-project and solution policies for better , improved capabilities, and enhanced MSBuild integration to streamline project building across diverse environments. Earlier betas in had laid groundwork with features like improved packaging systems and smart indentation for C#, reflecting iterative refinements from user feedback and developer input. This version solidified MonoDevelop's role as a robust IDE for C# development on , where it originated as the primary platform. Subsequent updates further expanded its scope. MonoDevelop 2.2, released in December 2009, officially added support for Windows and macOS, moving beyond Linux-centric use and enabling broader cross-platform development for .NET applications. MonoDevelop 2.4, arriving in 2010, introduced tools like the Navigate To dialog for faster file and symbol navigation, alongside refinements in and editor , which encouraged adoption among developers building Mono-based desktop and web applications. efforts played a key role, with bug-fixing marathons and add-in contributions enhancing stability and extensibility during this period. Language support grew through initial bindings for additional .NET languages, broadening its appeal. By 2008, with MonoDevelop 1.0, it included native handling for Visual Basic .NET projects, allowing import and modification of VB.NET files alongside C#. The first F# language binding arrived in November 2010, providing autocompletion, tooltips, and refactoring via the F# compiler service, which integrated seamlessly into the IDE's workflow. These additions, contributed by the open-source community, positioned MonoDevelop as a versatile tool for multi-language .NET projects in Linux-dominated environments. A pivotal boost came from its integration with Unity Technologies in 2011, when MonoDevelop became the default C# scripting IDE bundled with the Unity game engine, significantly increasing its visibility and use among game developers worldwide. This partnership exposed the IDE to a large Windows and macOS user base via Unity's popularity, fostering contributions that improved scripting support and debugging for game development. The year 2012 saw the release of MonoDevelop 3.0 in May, featuring a revamped add-in system for easier extensibility and integrated support for systems like and SVN, which facilitated collaborative development in open-source projects. The update also overhauled the C# engine using the Mono Compiler Service for more accurate semantic analysis, alongside performance optimizations that reduced load times and improved responsiveness. By the end of its independent phase in , MonoDevelop had garnered substantial adoption within the open-source , particularly for developing Mono-based applications in ecosystems, where it served as a go-to IDE for thousands of developers porting and maintaining cross-platform .NET software. Its growth was evidenced by active participation in community-driven enhancements, such as localization add-ins and database tools, underscoring its maturation into a cornerstone of non-Microsoft .NET development.

Acquisitions, Rebranding, and Discontinuation

In 2011, assumed stewardship of the Mono project, which included the open-source IDE, and subsequently released Xamarin 2.0 in 2013, rebranding MonoDevelop as Xamarin Studio to emphasize support for cross-platform mobile development using C# and .NET. On February 24, 2016, Microsoft announced its acquisition of Xamarin, integrating the company's tools into its ecosystem and further rebranding Xamarin Studio as Visual Studio for Mac later that year, with the MonoDevelop codebase serving as its foundation while shifting primary focus to macOS and iOS development. Under 's ownership, for Mac received continued updates, culminating in a major overhaul with the release of version 17.0 in May 2022, which adopted a fully 64-bit architecture, native macOS UI, and optimization for processors running on .NET 6. announced the discontinuation of for Mac on August 30, 2023, with support ending on August 31, 2024, citing resource shifts toward cross-platform .NET tools like and the C# Dev Kit extension, as well as overlap in functionality that made a dedicated Mac IDE less essential. The last specific maintenance for the original MonoDevelop codebase effectively ceased around January 2020 with its last commit on January 29; its repository was archived on October 4, 2021, without further builds or updates.

Features

Core IDE Functionality

MonoDevelop's core IDE functionality centered on a flexible and extensible designed to enhance developer productivity across diverse workflows. The supported customizable layouts for workspace pads, , and windows, enabling users to tailor the interface to their preferences through the View/Layouts menu or a quick-switch selector. Key bindings were fully configurable via Edit/Preferences, accommodating schemes like or , and allowing multi-state bindings for complex commands. Additionally, integration with external tools was facilitated through preferences and add-in extensions, while window management features permitted docking, floating, and tabbed arrangements for efficient multitasking. At the heart of its editing capabilities lay advanced text editing tools that streamlined code authoring. was provided for supported languages, visually distinguishing elements like keywords, strings, and comments to improve . allowed collapsing expandable regions, such as methods or classes, to manage large files effectively. Code templates, functioning as snippets, could be expanded using the TAB key and customized per file extension for repetitive code patterns. Most prominently, intelligent offered contextual suggestions for namespaces, types, methods, fields, 'as' and 'new' keywords, method parameters, and even C# directives, reducing typing errors and accelerating development. Project and solution management formed a foundational pillar, enabling seamless organization and building of .NET applications using the Mono runtime. Users could create multi-file solutions comprising multiple projects, with built-in templates for common types such as console applications, class libraries, web applications, and test libraries in languages like C#, VB.NET, and Boo. Build integration supported Mono versions 1.1, 2.0, and later, including multiple configurations, dependency resolution, and command-line tools like 'mdtool build' for automated compilation and deployment. This setup facilitated and maintenance of complex solutions without external build systems. Version control integration was embedded to support collaborative development directly within the IDE. Built-in support included (SVN) for operations like checkout, commit, log viewing, and revert, along with automated generation based on customizable policies. Starting with version 2.6, integration provided similar core commands, including diff views and commit tools, extending VCS capabilities to distributed workflows. support was available through dedicated add-ins, enabling comparable functionality for repository management and history tracking. Cross-platform availability ensured broad accessibility, with native support for (optimized for environments), Windows, and macOS. Installer packages were provided for each platform via the official download page, allowing straightforward setup and consistent feature parity across operating systems, though some platform-specific optimizations, like iPhone project targeting, were limited to macOS.

Language and Framework Support

MonoDevelop provided robust support for C# as its primary language, offering advanced features such as IntelliSense-like code completion, refactoring tools including rename and extract method operations, and compilation targeting the Mono runtime. These capabilities enabled developers to build and maintain .NET applications efficiently across Linux, Windows, and macOS platforms. In addition to C#, MonoDevelop supported other .NET languages including F#, Visual Basic .NET, Boo, and Java via the IKVM add-in, with dedicated project templates available for each to facilitate quick setup and development. F# and Visual Basic .NET received full support across all platforms, while Boo and Java were primarily available on Linux. The IDE integrated with key frameworks to support diverse application types, including for web development with full and testing via the XSP Mono , Gtk# for cross-platform desktop GUI applications through its visual designer, Unity for game scripting in C#, and early Xamarin.Mobile components for shared cross-platform logic. MonoDevelop allowed building and debugging against various Mono runtime versions, from 1.1 to 6.x, including profile-specific support for mobile (such as Mono for Android) and server environments. Its extensible add-in system further enabled custom language bindings and tools, allowing developers to extend support for additional languages or integrate specialized functionality.

UI Design and Debugging Tools

MonoDevelop provided specialized tools for designing user interfaces and debugging applications, enhancing the development workflow for .NET and Mono-based projects. The UI Builder, known as Stetic, served as an integrated drag-and-drop designer specifically for Gtk# applications, allowing developers to visually construct graphical interfaces by placing widgets such as VBoxes, Menu Bars, TextViews, and Scrolled Windows from a palette onto a canvas. This tool supported layout organization through containers and enabled property adjustments via a dedicated Widget Properties pad, while the Widget Tree facilitated navigation among elements. Stetic automatically generated C# code for forms and controls, creating private fields for widgets in a designer file and adding signal handler skeletons—such as for menu actions like "OnOpen" or "OnExit"—directly into the main class, streamlining the connection between visual design and functional code. As the official GUI designer for Gtk# within MonoDevelop, Stetic emphasized seamless integration for cross-platform desktop application development. The integrated debugger in MonoDevelop supported both managed and native code execution analysis, leveraging the Mono Soft Debugger for .NET applications and GDB for native ones. The Mono Soft Debugger, available since Mono 2.6 and tightly coupled with MonoDevelop, enabled core debugging operations including setting s at sequence points, examining call stacks by capturing state during managed-to-native transitions, and performing step-through execution via single-stepping mechanisms like signal-based suspension. While watch variables offered limited support due to thread suspension constraints, the debugger facilitated attach-to-process scenarios and was particularly useful for MonoTouch/ development. GDB integration, introduced in early versions like MonoDevelop 2.0 Alpha 2, allowed debugging of native components with features such as management and variable inspection, complementing the Soft Debugger for mixed-mode applications. Overall, this dual-debugger approach supported languages like C# and C++ by providing step-in, step-over, and step-out controls alongside runtime evaluation. To aid in code exploration and maintenance, MonoDevelop included assembly and class browsers as navigational tools for .NET assemblies and project structures. The , debuted in MonoDevelop 2.0, permitted inspection of assembly contents by displaying type definitions, member details, and Intermediate Language (IL) code for methods, thereby revealing metadata without external tools. It supported dependency exploration through reference visualization, helping developers trace inter-assembly relationships and understand binary compositions. The Class Browser complemented this by providing a hierarchical view of classes, interfaces, and members within projects or loaded assemblies, enabling quick navigation and refactoring previews as part of the IDE's core analysis features. Unit testing integration in MonoDevelop featured a built-in runner that automated test discovery, execution, and result visualization for frameworks like and MbUnit, promoting practices. The add-in, integrated via MonoDevelop's extension system, allowed developers to run tests directly from the IDE, displaying pass/fail outcomes in a dedicated panel with stack traces for failures and coverage metrics where supported. MbUnit compatibility extended this capability to more advanced testing scenarios, such as parameterized tests, through the same runner interface, ensuring compatibility with Mono's runtime for cross-platform validation. This setup facilitated seamless workflow from writing tests in supported languages to immediate feedback without leaving the IDE. The help system in MonoDevelop incorporated Monodoc for comprehensive .NET API documentation and custom help files, accessible via an integrated viewer. Monodoc integration, present from MonoDevelop 1.0 onward, browsed XML-generated documentation for Mono assemblies, providing context-sensitive help on classes, methods, and namespaces directly within the IDE. Developers could extend this with project-specific documentation projects, using Monodoc tools to compile and query custom assemblies, enhancing knowledge accessibility during UI design and debugging tasks.

Legacy and Successors

Xamarin Studio

Xamarin Studio emerged as the direct rebranded successor to MonoDevelop in February 2013, when released version 2.0 of its platform and rebranded the open-source IDE to align with its mobile development focus. Retaining the core architecture of MonoDevelop, Xamarin Studio introduced specialized project templates for and Android applications, leveraging the Xamarin.iOS and Xamarin.Android frameworks to enable C#-based native mobile development. This followed Xamarin's assumption of MonoDevelop's stewardship, building on contributions from its founders who originated the Mono project. A key enhancement was the creation of a unified IDE environment supporting both Xamarin.iOS and Xamarin.Android workflows, which included built-in device simulators for testing on virtual and Android hardware, as well as streamlined deployment tools for provisioning devices, signing apps, and submitting to app stores. These additions addressed the challenges of cross-platform mobile development by providing a single interface for building, debugging, and deploying apps across ecosystems, reducing the need for separate tools or environments. The version 5.x series, released progressively from 2014 to 2015, brought further refinements tailored to mobile workflows, such as deeper integration with macOS for seamless native tool chaining (e.g., with ), a visual XAML designer for .Forms that allowed drag-and-drop creation of cross-platform user interfaces shared across , Android, and Windows, and connectivity to cloud build services for remote compilation on platform-specific hardware without requiring local Mac agents for all builds. These updates emphasized efficiency in UI prototyping and distributed development, making Xamarin Studio more accessible for teams targeting multiple mobile platforms. As adoption grew, Xamarin Studio's user base transitioned from general-purpose Mono and .NET developers to those specializing in mobile applications, facilitated by its free Community edition for individual and open-source projects alongside a paid Enterprise edition offering advanced diagnostics, priority support, and extended licensing for commercial use. This model broadened while monetizing professional features, aligning with the rising demand for C#-driven mobile tools. Technically, Xamarin Studio preserved substantial continuity with MonoDevelop, drawing largely from its established codebase for core IDE functions like code editing, , and add-in extensibility, but underwent optimizations to prioritize macOS as the primary host platform, with cross-platform support for Windows and limited Linux compatibility via MonoDevelop forks. This evolution positioned Xamarin Studio as a mobile-centric IDE until its transition under in 2016.

Visual Studio for Mac

Visual Studio for Mac was launched in November 2016 as a preview following Microsoft's acquisition of earlier that year, serving as a full port of the IDE to macOS and building upon the foundations of MonoDevelop and Xamarin Studio. This rebranding and expansion from its predecessor, Xamarin Studio, enabled developers to create cross-platform applications for , Android, macOS, and more directly on macOS hardware. The IDE reached general availability in 2017 with version 7.0, introducing initial support for .NET Core 2.0, which allowed for building and running cross-platform .NET applications on macOS. In early 2020, version 8.4 added integration for Server projects, enabling the creation, building, running, and debugging of web applications using and server-side rendering within the IDE. By 2022, version 17.0 marked a significant update with a full transition to a 64-bit architecture, native support for .NET 6, optimization for processors, and tools for development, including project templates and debugging for cross-platform UI applications targeting .NET 6 and later .NET 7. Key enhancements during its evolution included comprehensive debugging capabilities for applications, seamless integration with Azure services for deployment and management, and built-in templates for cross-platform .NET projects that streamlined development for web, mobile, and desktop scenarios. Microsoft announced the discontinuation of for Mac in August 2023, with updates ceasing after version 17.6 and support ending on August 31, 2024, in line with the Modern Lifecycle Policy. Post-retirement, no new features or updates are provided, but existing installations continue to function for maintenance of current projects, prompting users to migrate to alternatives like with .NET extensions.

Post-Discontinuation Alternatives

Following the discontinuation of Visual Studio for Mac in August 2024, Microsoft recommends Visual Studio Code (VS Code) as the primary alternative for .NET development on macOS and other platforms. VS Code, combined with the free C# Dev Kit extension (which incorporates OmniSharp for IntelliSense and project management), provides a lightweight, cross-platform environment supporting .NET 8 and later versions, including debugging, refactoring, and testing capabilities. This setup enables full .NET MAUI development for cross-platform apps, with native support for Apple Silicon processors, ensuring efficient performance on modern Macs without virtualization overhead. Other professional IDEs include JetBrains Rider, a paid cross-platform tool that excels in advanced refactoring, code analysis, and .NET ecosystem integration, making it suitable for complex projects transitioning from MonoDevelop-era workflows. Rider supports .NET 8+, , and natively, offering a more feature-rich experience than VS Code for users needing deep IDE functionality. For those requiring the full IDE, suggests running the Windows-only version via virtualization tools like Parallels or cloud-based options such as Microsoft Dev Box, allowing Mac and Linux users to access enterprise-grade features while maintaining license compatibility. Community efforts to sustain MonoDevelop include the DotDevelop fork, which builds on the original to improve compatibility and adapt to newer .NET versions, though it remains in early development without major new features. Legacy MonoDevelop 7.x packages are still available through distribution repositories like Fedora's, but they lack updates for .NET 8+ and are recommended only for maintaining older projects. Microsoft provides detailed migration guidance for porting Visual Studio for Mac projects to VS Code, covering solution file adjustments, extension equivalents for UI design (e.g., .NET tools), and setup to minimize disruptions. This shift aligns with the broader .NET ecosystem's focus on .NET 8+ and , where alternatives like VS Code and Rider ensure continued cross-platform development without reliance on discontinued tools.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.