1. Registration for the upcoming .NET/Mono Code Camp in Spain is open and filling up quickly, so if you are interested in attending, register now!

    The agenda has also been published. It includes talks about Mono, MonoDevelop, mocking frameworks running on Mono, iPhone development (with MonoTouch), Moonlight, .NET to Linux portability, Mono.Addins and other stuff.

    3

    View comments

  2. We have started planning the sessions for the .NET/Mono Code Camp in Tarragona (Spain). The sessions are being organized in two tracks: a Mono track and an MSDN track. I plan to give at least a couple of talks: one about the upcoming release of MonoDevelop, and one about application extensibility based on Mono.Addins.

    If you are interested in giving a talk, it is now time let us know. You'll find here a form you can use to submit your proposal. We will select the proposals we find more interesting, and we plan to pay the travel expenses for all speakers. Update: sessions are going to be held in spanish.
    Update 2: we don't have a big budget, so we may not be able to pay full expenses to people coming from outside Spain.
    Update 3: the deadline for the call for papers is September 11th.

    I like how the Code Camp is shaping up so far. It will be a chance to meet with spanish Mono hackers and users, but it will also be a good chance to talk about Mono and Linux to an audience which typically is very Microsoft-centric.
    1

    View comments

  3. I added a new document to the MonoDevelop developers documentation page: API Overview.

    The public MonoDevelop API is really extensive, and it is not easy for add-in developers to find out which part of the API they have to use to do certain operations. This document is basically a high level description of all functionality provided by the API, with information about which classes and objects provide that functionality. The document doesn't give much detail about how to use the API, this will come in separate feature-specific documents.

    I hope you find it useful.
    0

    Add a comment

  4. I committed today very basic support for building projects using MSBuild / XBuild instead of MonoDevelop's own build system. Ankit has been doing a lot of progress in XBuild, and it is mature enough to build complex projects. XBuild support is for now disabled by default. To try it, you'll have to enable it in the Edit / Preferences / Build options panel.

    The integration right now is simple because all it does is to launch the xbuild command in a separate process. That's not the best way of doing it, but the most straightforward. A more optimal option is to use the MSBuild API to load the project and launch the build. That's my next step, but there are some issues with it.

    The main problem is that MonoDevelop now supports multiple target runtimes and frameworks. Multiple frameworks are not a problem because MSBuild already has support for that, but it doesn't have support for multiple runtimes.

    Multiple runtimes means that for example when running MD on Windows, I can select either Mono or MS.NET as target runtime, and MD will build the project using the selected runtime. Each runtime has its own GAC and set of installed packages, even its own MSBuild version, so I can't use the MSBuild API to load and build the project. The only option in this case is to launch in an external process.

    There is however and additional and more hard to fix problem. To get the list of assemblies referenced by a project (for example to do code completion), MonoDevelop right now just enumerates the reference elements defined in the project. When using MSBuild that's not fully correct anymore, since custom targets and tasks may inject references which are not explicitly set in the project. So the only way of getting the real list of references is by loading the MSBuild project and evaluating it, and that won't work when targeting a runtime other that then one running MD.

    Anyway, this basic support we have now is good enough for many projects. I'll go step by step.
    1

    View comments



  5. It's official: there will be a .NET/Mono Code Camp in Spain in October. The proposal was made some months ago by CatDotNet, a local .NET user group. Several other .NET user groups quickly joined. The initial idea was to do a traditional Microsoft.NET Code Camp, but I though it would be a good chance of putting together .NET and Mono developers, since after all we have a lot to share. Everybody thought this was an awesome idea.

    This will be a good chance for learning and sharing knowledge about .NET and Mono, but I'd also like it to be a meeting point for the Spanish Mono community. I'll be there giving some talks, and I hope other Mono hackers can come too. If you want to propose a talk, or you want to contribute please join the official forum.

    More info about the Code Camp in the official web site: www.codecamp.es.

    0

    Add a comment

  6. How to build MonoDevelop with Visual Studio in five easy steps:
    • Install GTK# (get installer here)
    • Install the Mono Libraries (get installer here)
    • Get MonoDevelop from SVN (update: instructions here)
    • Open main/Main.sln in Visual Studio
    • Press F5 (update: make sure you have the configuration DebugWin32 and platform x86 selected).
    5

    View comments

  7. A new MonoDevelop installer for Windows is available. This release has many fixes and improvements:
    • Performance of the text editor greatly improved, thanks to a new text rendering logic cooked by Mike Krüeger.
    • The debugger is now more reliable, it properly handles enum values, and it now has an 'immediate' console.
    • The NUnit add-in now works.
    • Version Control now has a new Create Patch command, thanks to Levi Bard.
    • A new C# formatter, with support for per-project/solution formatting options.
    • MD now logs debug and error output to a file located in your AppData/MonoDevelop/log.txt, so if you get a crash or something you may find some info there.
    • Many other bug fixes.
    The new installer is available here. Worth trying!
    19

    View comments

  8. Since my last blog post about MonoDevelop on Windows, things have improved a lot. I focused my work in making MD good enough to be used for everyday MD hacking. We are still not there, but close. Here are some improvements done in the past week:
    • Fixed the GTK# designer add-in. It is now fully working.
    • Implemented a new backend for the Subversion add-in. I tried using the add-in we have for Linux, but the libraries I could find for Win32 have some differences in the API and the bindings doesn't work. I finally decided to refactor a bit the SVN add-in to support different backends, and implemented a new one based on SharpSvn. So the SVN add-in is also fully working.
    • Added support for debugging, based on the debugger that comes with .NET. This is still work in progress, although most of features already work: stepping, breakpoints, inspecting variables with drill down and evaluation of expressions.
    • Support for .NET 4.0. This new version can now be selected in the project properties.
    • Improved the look of the main window. Reduced some spacing, improved the rendering of the tabs when docking several pads together, and other cosmetic fixes.
    • Improved the performance of the text editor. It now feels more responsive.
    • ... and many other fixes.
    There are still some stability issues, and are several add-ins are still untested, but MD is starting to look great on Windows. GTK+ with the Vista theme looks really nice. Here are some screenshots of the GTK# designer and the debugger:





    Now, here is what you've been waiting for: a MonoDevelop installer for Windows. You can get it from the Windows Preview page in the MD site. Read carefully the instructions in that page. You'll have to install the latest GTK# package, also linked in that page. Also, beware that this is a preview built from trunk, so you can expect to find stability issues. In any case, bug reports are always welcome. Enjoy!
    30

    View comments

  9. Besides the efforts to make MonoDevelop play nice in MacOS X, we've also been doing progress in the Windows side. This is how it looks right now:



    What you see above is MonoDevelop running on Windows Vista using Microsoft.NET. A lot of effort has gone into making it easy to build MonoDevelop. Mike Kestner has been working on an installer that provides the core libraries on which MD depends on (such as Mono.Addins), and I hope it will be soon available so that people can start using it. We've also fixed the MD project files, so now MD can be built by just opening the main solution in Visual Studio and clicking on build.

    A new feature I had to add to MD in order to properly support Windows, is support for multiple runtimes. Thanks to that feature it is possible to select in the IDE which runtime you want to use for building and running a solution. It can be done using a combo box in the toolbar:


    There is also a "Run With" menu which shows all runtimes, so you can run a specific project using a specific runtime. Notice that support for multiple runtimes is not specific to Windows, it is also supported in Linux. In this case, you can register several mono runtimes versions installed in different prefixes (I'll blog with more detail about that soon).

    The basic funcitonality already works in Windows: loading a project, building running. Other features still don't work, such as the gtk# designer, the nunit add-in or the Subversion add-in. I haven't yet tried none of the add-ins in 'extras'.

    I hope we'll be able to make a 2.2 release with a very decent Windows support. I'll keep posting and twittering updates.
    11

    View comments

  10. Yet another step towards 2.0 release. We released Beta 1 last week with many fixes and some new interesting features (here are the release notes).

    The one I like more is the support for per-project policies. This feature has been planned for long time but other work has been delaying it. Me and Michael Hutchinson had a chance to talk quite a lot about it while I was at Boston a couple of months ago. The policies model allows setting properties at global, solution, folder and project levels. Settings such as tab width can be defined in any of those levels and will cascade down to the lower levels (where it can be overriden if required). Many settings are already available in this way, and many more will be in future releases.



    Another new feature, or rather improvement, is the support for multiple frameworks. MD already had support for targeting the 1.1/2.0 CLR for quite a long time, but did not have the concept of 'target framework', which is more generic. For example, .NET 3.0 is based on the 2.0 CLR and it just includes some additional assemblies. What complicates things a bit is that Mono does not follow the .NET releases, so for example Mono 2.0 includes bits from all .NET versions. To simplify all this and to be compatible with MSBuild, it is now possible to select the target .NET framework, which includes 1.1, 2.0, 2.1 (Silverlight), 3.0 and 3.5. The project system is fully aware of the chosen target framework, so for example it won't let you reference a 3.5 project from a 3.0 project.

    The source editor keeps improving in many ways. Mike Krueger has spent quite a lot of time fixing issues in code completion, which now works in many more contexts. My contribution on code completion (besides stabilization work in the parser database) is support for completion of generic types with constraints. For example, in the following class code completion is showing the Dispose method because there is a constraint forcing the generic argument to implement it:



    There are other improvements, such as the new Go to File dialog I blogged about some time ago, better support for completion in ASP.NET projects, and fixes in the GTK# designer. There is still a lot of work to do, but we are getting close to 2.0.
    8

    View comments

Blog Archive
About Me
About Me
My complete name is Lluis Sanchez Gual, and I work as a developer for Novell. I'm part of the Mono team, and I'm leading the MonoDevelop project, a very exciting open source IDE for GNOME.
Loading