The #develop teamblog
#  Friday, 12 February 2010

Laputa started out as the team's joint blog when the team was small, and feature news were far and few between. As the team has grown, every developer got their own blog at

Now, the rest of us is moving too:



Categories: Chris
Friday, 12 February 2010 15:20:53 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 05 January 2010

You are building SharpDevelop using debugbuild.bat and getting

fatal error C1083: Cannot open include file: 'windows.h': No such file or directory


\corprofilercallbackimpl.h(19): fatal error C1083: Cannot open include file: 'cor.h': No such file or directory


One possible cause could be that you have more than one Windows SDK installed on your box. Simply start the Windows SDK Configuration Tool, and select 7.0A (that's the version number for Windows 7 SDK with .NET 3.5 SP1 SDK):

Categories: Chris
Tuesday, 05 January 2010 15:01:35 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Sunday, 30 August 2009

Later today, this year's #d^3 will wind down. It is the first time that the event went over full four days, but we kept the familiar location: Bad Ischl, the heart of the Salzkammergut (Austria, for those of you thinking in larger geographical terms).

This year's participants are pictured in the below photo (left to right): Tomasz (Gsoc: C++ Backend Binding), Daniel (Senior Developer, Architect), Martin (Gsoc: Debugger Visualizer), Siegfried (Gsoc: Xaml Binding), David (Debugger), Peter (SharpDevelop Reports), Chris (Project Management).

Categories: Chris
Sunday, 30 August 2009 14:57:11 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Thursday, 14 May 2009

It is finally available

The really newsworthy feature is the profiler - it has been in the works for over a year, and it is the first full-fledged open source profiler for .NET. Siegfried would love to hear your feedback in the forums, especially which features should be next in the pipeline.

Categories: Chris
Thursday, 14 May 2009 20:41:52 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Tuesday, 24 March 2009

David wrote a blog post on our participation in the GSoC 2009. It refers to the GSoC 2009 Wiki entry where the mentors have posted a few ideas (yes, we actively encourage students to come up with their own!). As I am the program manager, I am not active as a mentor, but I sure do have an opinion... here are my top five projects when it comes to "visibility" (a feature that will be used by a large percentage of our user base):

  1. The database scout / database api / EDM designer (we already have a student lined up for this)
  2. Debugger improvements (visualizers, edit and continue support, ...)
  3. VB.NET 9 support on par with our existing C# 3.0 support (most likely a task for a CS student)
  4. Refactoring support (think ReSharper)
  5. Customizable keyboard shortcuts / toolbars

I took "Everything .NET 4.0" from my top five because Beta 1 of Framework 4.0 most likely won't hit the streets before the student application deadline. And I will post further ideas in David's blog post, so you might find something palatable there too.

Categories: Chris
Tuesday, 24 March 2009 13:42:01 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 10 February 2009

Another major release of SharpDevelop finally hits the streets - version 3.0 has been completed yesterday and is available for download as of now! Go get it

Categories: Chris
Tuesday, 10 February 2009 08:48:17 (GMT Standard Time, UTC+00:00)  #    Comments [2]


#  Sunday, 14 December 2008

On December 5th (revision 3655), we removed the WPF designer from SharpDevelop 3.0. The decision to remove this feature had its origins in an internal discussion between Daniel, Ivan and myself after watching the PDC 2008 session Microsoft .NET Framework: Declarative Programming Using XAML. There, System.Xaml.dll was announced - a parser for the full Xaml standard.

Back then, a preview was announced for November, but that has been pushed back - please see the System.XAML CTP blog post by Rob Relyea. Therefore we had to take the decision whether to use System.Xaml.dll without doing a prototype, but we opted for saving ourselves the chore of having to keep abreast with future XAML changes by sticking with a standard parser instead of having to maintain our own.

Because System.Xaml.dll is part of .NET Framework 4.0, we had to remove the WPF designer feature from SharpDevelop 3.0.

Categories: Chris
Sunday, 14 December 2008 19:17:46 (GMT Standard Time, UTC+00:00)  #    Comments [3]


#  Thursday, 04 September 2008

In case anyone gets a wrong idea, take a close look at the title bar - it has the word "experimental" in it:

The reverse integration of the WPF branch is the first step in the direction of "more WPF" in SharpDevelop 4.0 (this screenshot shows the new WPF workbench and the new WPF start page).

So what does this mean for the not-yet released version 3.0? As 3.0 is the last version built entirely on top of Windows Forms, it will be a long-term stable release series - meaning there are plans for at least 3.1 and 3.2. We know a lot of people are using our workbench, our text editor and various other parts in their applications - and we are definitely going to be supporting you in the future!

Categories: Chris
Thursday, 04 September 2008 18:57:06 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Monday, 01 September 2008

Our Wiki has a guideline on joining the team which outlines the process of submitting code to the project. As part of this year's #develop developer days (#d^3) we decided on a change to the guideline:

It is now possible to contribute "any-size" patches (be it a bug fix or feature enhancement) when those code pieces (your changes) are licensed under the BSD license.

Why this change? We want to make it easier for the "accidential contributor" (ie someone who stumbled across a bug and dabbled with our code to fix it) to get her or his changes into our codebase without going through the "hassle" of having to sign & send the JCA. This should lower the barrier to contributing to our project.

If you want to work on a larger feature, we still want you to send us a JCA - the simple reason being in it's name: it is a joint copyright assignment, making you and the project owners to the copyright, allowing you and the project to work with the code in any way desired. For more details on "Why the JCA" please see the guideline.

Categories: Chris
Monday, 01 September 2008 18:12:32 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Friday, 22 August 2008

This addin integrates Microsoft StyleCop into SharpDevelop. StyleCop only supports C#, and this addin has been tested against StyleCop 4.3, earlier versions won't work.


  • Line highlighting of the warnings found
  • Change StyleCop settings on a per-project basis, copying from a master file you can also configure
  • Run as part of the normal build process or on-demand from the project menu

So how do you run StyleCop? Simply from the context menu of the current C# project:

This will result in an error (given that you haven't installed StyleCop yet):

Therefore please download the latest version of StyleCop and install it. Note that you must install the MSBuild integration:

Once installed, you have to tell SharpDevelop where to find it. This is done in the Tools / Options dialog:

Click on "Find StyleCop path" and go to the MSBuild directory:

Now SharpDevelop knows how to find StyleCop, all you have to do is re-run the StyleCop inspection of your project. In my sample project this results in quite a few warnings:

As you might not go d'accord with the default style checks, you can manipulate the StyleCop settings right from your current C# project:

Those rules are documented in StyleCop.

Categories: Chris
Friday, 22 August 2008 08:03:13 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 20 August 2008

Because the question keeps coming up repeatedly in the forum, I want to repeat the most important pieces of advice from the last thread in this blog post. Firstly and most importantly:

If you use SharpDevelop 2.x, you must use TortoiseSVN 1.4.x.
If you use SharpDevelop 3.x, you must use TortoiseSVN 1.5.x.

So why is this important? Well, Subversion 1.5 does change the working copy format, therefore older clients cannot read the working copy anymore. And why is this important to SharpDevelop? Daniel continues to explain:

SharpDevelop uses its own copy of the Subversion library for marking files as added/removed/etc. This can upgrade the working copy to the 1.5 format.

However, SharpDevelop does not have it's own commit dialog - we simply start TortoiseSVN.

So there are two Subversion libraries used by SharpDevelop: the one we ship for local operations, and the one shipped with TortoiseSVN for commit etc. Because the Subversion 1.4 library cannot read working copies touched by the 1.5 library, you run into this kind of problem when either TortoiseSVN or SharpDevelop is too old.

To sum up: SharpDevelop 2.x ships with libraries that are compatible with Subversion 1.4 and requires TortoiseSVN 1.4 for UI. Whereas version 3.0 of SharpDevelop ships with (different) libraries that are compatible with Subversion 1.5 and requires TortoiseSVN 1.5 for UI.

So will there be an upgrade for SharpDevelop 2.x to support Subversion 1.5? This was a hotly debated issue, however, in the end it boiled down to the following question: do we want to ship two almost identical versions of SharpDevelop 2.2 that only differ in the version of the included Subversion library (because we would have to support both camps)? As that would create quite a bit of confusion, we decided to leave 2.2 as is and support Subversion 1.5 only in SharpDevelop 3.0.

Categories: Chris
Wednesday, 20 August 2008 20:01:00 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 19 August 2008

If you receive the following error message

but have TortoiseSVN installed, then you have run into the following snag: SharpDevelop 3.0 is explicity marked as 32 Bit application, thus it cannot use the x64 version of TortoiseSVN.

Solution: install TortoiseSVN 32 Bit. It can be used in parallel with the x64 version.

Categories: Chris
Tuesday, 19 August 2008 21:00:39 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Saturday, 16 August 2008

Running SharpDevelop on USB thumb drives has been possible for a long time. What is new in version 3.0 though is that the settings that usually go into the user's profile can live directly on the memory stick - allowing you to take your settings with you at all times. Here is the procedure:

Download SharpDevelop 3.0 and perform a standard installation on Windows. By default the installation location (on an x64 machine) will be the following:

Simply copy the 3.0 directory to your memory stick, and then open the \bin directory there:

There, you have to open SharpDevelop.exe.config - and search for the appSettings section which by default looks like this:

  <!-- Use this configuration setting to store settings in a directory relative to the location
       of SharpDevelop.exe instead of the user's profile directory. -->
  <!-- <add key="settingsPath" value="..\Settings" /> -->
  <!-- Use this setting to specify a different path for the code completion cache.
        The cache contains information about referenced assemblies to speed up loading
        the information on future SharpDevelop starts. -->
  <!-- <add key="domPersistencePath" value="..\DomCache" /> -->
  <!-- Use this setting to disable the code completion cache. Code completion will still be
       available, but take longer to load and use more RAM. -->
  <!-- <add key="domPersistencePath" value="none" /> -->

The comments tell you what to do, basically uncomment settingsPath and domPersistencePath:

<add key="settingsPath" value="..\Settings" />
<add key="domPersistencePath" value="..\DomCache" />

Save the file and you, SharpDevelop and your settings are ready to go. Note that once started the two directories show up in the directory tree:

Categories: Chris
Saturday, 16 August 2008 16:18:14 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 04 March 2008

In addition to our presence on SourceForge (project page) we now also set up shop at CodePlex (project page). The motivation for this step is to increase awareness about SharpDevelop, and how parts of SharpDevelop can be reused in other applications / scenarios.

Categories: Chris
Tuesday, 04 March 2008 11:42:29 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Wednesday, 23 January 2008

A change that happened rather early in the development process of SharpDevelop 3.0 (revision 2658, 8/13/2007) was that we replaced NDoc (a stalled open source project) with Sandcastle Help File Builder (SHFB). SHFB looks and feels similar to NDoc, however, it builds on top of Sandcastle, a documentation generation tool by Microsoft.

Our build server (revision 2913 and higher) contains SHFB, which itself builds on top of the January 2008 release of Sandcastle (both are at the moment the latest releases of their respective projects). SharpDevelop 3.0 setup ships with SHFB, however, Sandcastle itself does not and must be installed separately! (this might change in the future once the final license of Sandcastle is known)

Because of the regular releases of Sandcastle and SHFB, the distribution of SharpDevelop 3.0 might ship with older versions of SHFB than currently available for download. Thanks to Eric Woodruff, the maintainer of SHFB, this is not a big deal - he is offering a download specific for SharpDevelop:

All you have to do is first delete the contents of the following installation directory (including subdirectories):

Then simply unzip the SHFB distribution archive into this folder and presto - you are now using the latest version of SHFB from inside SharpDevelop!

Categories: Chris
Wednesday, 23 January 2008 08:40:44 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 15 January 2008

This question came up for example in the thread SharpDev 2.2.x on BuilderServer (this thread was started because we ceased to automatically build v2.2 on 1/11/2008).

The answer is Yes. Development of SharpDevelop 2.2 stopped with revision 2675 (8/28/2007), which is three revisions higher than the officially shipping version of SharpDevelop 2.2 (Download, 8/8/2007). The three non-shipping commits are:

  • 2673: Improved CSharpCodeCompletion sample: add tool tip support, show only one entry for overloaded methods
  • 2674: Fixed some off-by-one bugs in the CSharpCodeCompletion example (caused by the different line counting in the parser and the text editor).
  • 2675: CSharpCodeCompletionSample: show xml documentation

All three were (of course) merged into Montferrer (SharpDevelop 3.0), this merge happened in revision 2679. However, those commits did not merit a release of a new setup because those were all changes to a sample shipping only in the source download.

Since releasing v2.2.1 all work stopped on the 2.x series of SharpDevelop. Our efforts went (and still go) into SharpDevelop 3.

Categories: Chris
Tuesday, 15 January 2008 10:37:39 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Friday, 11 January 2008

In continuing to list changes to SharpDevelop 3, we are going to talk about the code coverage addin in SharpDevelop 3 "Montferrer" in this blog post.

Previously, the addin used NCover for calculating code coverage (this is a metric you gain by writing unit tests). However, recently NCover was turned into a commercial product. Because we only include / support tools that are free to use for anyone (commercial or open source / hobby development), we switched to a different tool - PartCover.

This change happened in rev 2744 on 19th of November last year. The addin has retained its original functionality, however, for end users there is an important change: you no longer need to download and install a separate package (as it was the case with NCover), PartCover is part of the SharpDevelop setup. You are good to go right after installation!

Categories: Chris
Friday, 11 January 2008 11:02:23 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Thursday, 10 January 2008

An issue that initially came up in 2006 (Unable to compile #develop: access denied) "resurfaced" on our contributors mailing list because one of our developers ran into this very problem that McAfee blocks access to our Main\StartUp folder:

The problem and a workaround is described in McAfee VirusScan and the Startup folder. However, this developer doesn't have the administrative rights to change this setting of McAfee, so he asked whether we are going to rename the folder.

My take on this issue is that this is a bug in McAfee's software, because willy-nilly disabling anything that resides in a random folder called StartUp isn't a security feature.

Categories: Chris
Thursday, 10 January 2008 17:43:52 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Wednesday, 02 January 2008

Over the past months we made a couple of feature changes in SharpDevelop 3 (currently alpha status). One major change is that we moved NAnt and Mono support from the binary distribution (aka "setup") to the source code distribution. You can find the addins ready to build in the \samples directory:

What was the reasoning behind this decision? For NAnt, we had taken this decision a long time ago because SharpDevelop itself no longer uses NAnt as the primary build solution, and as such, the addin wasn't actively enhanced and tested. But it still is a great tool as well as a good sample for building addins with SharpDevelop.

The decision to "relegate" Mono from production to sample status has been based on multiple factors. For one, we only support basic compilation for Mono, no debugger nor any kind of visual designers (like GTK#). We got lots of support questions regarding these, and the honest answer had to be "we won't support that, sorry". Then in December Miguel announced that MonoDevelop will come to Windows (MonoDevelop is a fork of SharpDevelop), which meant that an IDE would come to Windows that fully supports all the things in Mono we don't have.

That's why we decided to make Mono an addin for people who know how to deal with source code, all the features are still there. And now that it is separate, it also makes a great sample addin because of the deepness of integration with low-level features of SharpDevelop.

To sum it up - we didn't remove anything, we just trimmed the setup to include features that are targeted at the Microsoft .NET platform.

Categories: Chris
Wednesday, 02 January 2008 08:15:59 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Wednesday, 24 October 2007

Daniel is currently working on areas such as project subsystem or code completion (aside from fixing bugs). Therefore, work on the WPF designer is stalled. But Daniel put together a list of tasks (hard, medium & easy) that you could be helping us with. So if you are interested in helping, and want to be part of writing an open source WPF designer, please do get in touch with me at christophw at!

WPF Designer mini tasks

Here are some jobs to do on the WPF Designer broken into small parts.

Apart from this list, there are also big jobs to do: Data Binding support, support using Styles, support defining resources.

Components to be used by multiple designer parts

Create “Choose Class” dialog

The data binding UI will need a dialog that allows choosing a class from the referenced assemblies. This will be implemented in WpfDesigner.AddIn and made available to WpfDesign.Designer through a service. The referenced assemblies should be inspected using ICSharpCode.SharpDevelop.Dom

This will be used by the “Content” property editor and by the data binding UI.

Support ‘Virtual Design Root Element’

This means that instead of displaying the designed component, the designer is able to display another component as if it was the root component. The designer should provide a “Back” button on the design surface to allow the user to go back to the real root component.

This feature is required for designing elements that cannot be designed directly on the main design surface, e.g. Tooltips

Write menu designer

Priority: High

The menu designer might be a dialog box that allows editing the menu in a tree view; or it might be an in-place menu designer like the Windows.Forms designer.

Property editing support

Here I’m listing properties that could need improved editing support.

When implementing property editors, take care that the editor should also work when multiple components with different property values are selected, so you always need a way to represent the ‘ambiguous’ value.

Properties of type Brush (e.g. Control.Background / Control.BorderBrush)

Priority: High

Change ICSharpCode.WpfDesign.Designer.Controls.TypeEditors.BrushEditor to include a little drop down button, the drop down should allow to choose the brush type (SolidColorBrush, etc., we don't need to support all of them at the beginning) and allow the user to edit the brush according to the chosen type.

Properties of type BitmapEffect / BitmapEffectInput (e.g. UIElement.BitmapEffect / UIElement.BitmapEffectInput)

Priority: Low

Implement a TypeEditor (similar to BrushEditor) for the types BitmapEffect and BitmapEffectInput. Could be as simple as a combo box with the most commonly used effects.

Properties of type ICommand (e.g. ButtonBase.Command)

Priority: Medium

There should be a way to choose the command to use from some kind of list.


Priority: High

The “C” button should be made a drop down button (like the one used for the Brush editor), it should present “null”, “string”, and menu items for creating commonly used child configurations (e.g. StackPanel with Image and Text when the parent is a button), and “choose class” to create arbitrary objects. This depends on “Create Choose Class Dialog”.

Properties of type ContextMenu (e.g. FrameworkElement.ContextMenu)

Priority: Medium

Provide a way to create and edit a context menu inside the designer.

Properties of type InputScope

Priority: Low

Research what an InputScope is and if/how we should allow the user to edit it.

Properties of type Transform

Priority: Low

Similar to the BrushEditor, provide a drop down to choose from the different available transforms and allow editing the transform properties.


Priority: Medium (setting string tool tips), Low (designing complex tool tips)

Should be editable similar to ContentControl.Content, but has to allow the user to design complex tooltips. Depends on “Support ‘Virtual Design Root Element’”

Properties of type FontStretch / FontStyle / FontWeight

Priority: Low

Provide a drop down with the available settings

Properties of type FontFamily

Priority: Low

Use a dialog to allow the user to choose the font to use.

Properties of type Nullable<bool> (e.g. ToggleButton.IsChecked)

Priority: Low


Priority: Low

There are two main usage scenarios: this property is specified using data binding (this doesn’t need to be handled by the type editor), or there are some hard coded values.

Write a type editor to support entering string values.


Priority: Low

Label.Target is set to the control described by the label (the control getting focus when Alt+Access Key is pressed). This is done using data binding, but choosing the target from the data binding dialog is too tedious – drag’n’drop of a crosshair on the target control would be much easier. Depends on data binding support.

Properties of type ImageSource (e.g. Image.Source)

Priority: High

Allow choosing a “Resource” element already part of the project, or choose a file and it will get added to the project. This TypeEditor would be implemented in WpfDesign.AddIn and not WpfDesign.Designer because it needs access to the project in SharpDevelop

Properties of type ViewBase (e.g. ListView.View)

Priority: Low

Provide a drop down with the most commonly used views.

Categories: Chris
Wednesday, 24 October 2007 19:01:35 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Sunday, 26 August 2007

Today I retired the initial Wiki (which only remained online for the book errata; we are now actually at Wiki #3), as well as the initial forum. Both resources [/heyhey/wiki/ and /opensource/sd/forums/] were available read-only anyways. The old URLs now redirect to our new and active installations.

The main reason for the complete removal is security. Both were old, unmaintained ASP solutions.

Categories: Chris
Sunday, 26 August 2007 14:59:49 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Thursday, 09 August 2007

A small but highly visible bug went unnoticed for the official 2.2.1 release: When creating a new project, ${USER} ${DATE} in the standard header etc. was not replaced with values. Thus we decided to release an 2.2.1a version that contains a fix for this templates-related issue.

Categories: Chris
Thursday, 09 August 2007 07:02:24 (GMT Daylight Time, UTC+01:00)  #    Comments [4]


#  Wednesday, 08 August 2007

Today, we released SharpDevelop 2.2.1. This is a bug fix release with two updated external software packages: NUnit 2.4.2 and SharpDevelop Reports It is recommend that you upgrade to this point release.

Categories: Chris
Wednesday, 08 August 2007 14:59:50 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 13 June 2007

The current episode of .NET Rocks! has me talking about SharpDevelop, its history, the challenges, its goals and where we are headed. I wrote about the show in my personal blog too, so please check there for more information.

Categories: Chris
Wednesday, 13 June 2007 11:40:57 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Thursday, 24 May 2007

Another new addition to our Web offerings: the online code formatter. It is based on the syntax highlighter of SharpDevelop's text editor, and thus supports quite a few formats out of the box: SP/XHTML, BAT, Boo, Coco, C++.NET, C#, HTML, Java, JavaScript, Patch, PHP, TeX, VBNET, XML. In addition the Web form, I also added a Web service that can be used in your application to perform code conversion, a sample is available.

Noteworthy: the Web offerings are built upon the sample you can find in the source download (revisions 2522 upwards) - \Samples\HtmlSyntaxColorizer.

Categories: Chris
Thursday, 24 May 2007 20:56:35 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


Our online code converter has been extended with the SnippetParser that Daniel wrote about on this blog. Now you can convert entire classes, or just code snippets. Please note that snippet conversion is only available for C# and VB.NET.

Categories: Chris
Thursday, 24 May 2007 10:21:45 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Monday, 02 April 2007

Last weekend, we held a #develop developer days (#d^3) meeting in Karlsruhe. There were five us that managed to free up the Easter schedule: Daniel (lead developer SharpDevelop), Dickon (data tools SharpDevelop), Peter (lead developer SharpDevelop Reports), Alex (PM SharpDevelop Reports) and myself (PM SharpDevelop). As you can guess, our focus was on data(base) support inside SharpDevelop.

Dickon gave us a tour of the database tools as they exist today - to get everyone on the same page as to where we stand (code-wise) and where Dickon wants to take the feature:

That of course ended in a whiteboarding session by Dickon (left), Daniel (right) and me:

The lowdown: a name change, restructuring and the decision to drop the current implementation of the db tools from the 2.x branch. After all, we have a couple of consumers (like SharpDevelop Reports) for the data tools in 3.0.

Daniel presented two things - first, the state of affairs with regards to our XAML designer:

This presentation then commenced with LINQ features already present in SharpDevelop 3.0 "Montferrer" today:

Peter & Daniel spent a considerable amount of time ripping out the load / save engine from SharpDevelop Reports, replacing it with a much cleaner and faster one - that, however, means that existing files (v2.1) are no longer compatible with the next version (v2.2 due in June).

Otherwise of note is that all five of us were using Windows Vista on their laptops (I suppose MS would rejoice if the majority of the user base would be that keen to work on Vista!), and that as always we visited a couple of nice restaurants (Brauhaus Moninger and Kanya's [sites in German])

Categories: Chris
Monday, 02 April 2007 13:27:55 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 07 March 2007

After 13 months in development, we are proud to release v2.1 (detailed announcement). This release contains a lot of features we consider essential for writing quality code, such as code analysis. A list of what's new was compiled by Matt, who is also maintaining our feature tour.

Stepping out of SharpDevelop's shadow is SharpDevelop Reports, which is the reporting solution formerly known as SharpReport. A lot of feature work lies ahead (roadmap details), so look forward to a full-featured open source .NET reporting solution!

SharpDevelop Reports - The Open Source .NET Reporting Solution

Categories: Chris
Wednesday, 07 March 2007 10:06:11 (GMT Standard Time, UTC+00:00)  #    Comments [2]


#  Friday, 09 February 2007
Categories: Chris
Friday, 09 February 2007 08:31:49 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Saturday, 23 December 2006

More information here. The release was originally scheduled for a week earlier, however, bug fixing took us a little longer so we decided to slip.

Categories: Chris
Saturday, 23 December 2006 10:09:59 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Friday, 01 December 2006

Our build automation system has changed: up until yesterday, we were using CruiseControl.NET to kick off an NAnt script to run our daily build. Now we are using MSBuild end-to-end in our build system, with a much cleaner architecture than before:

  1. CruiseControl.NET kicks off the build by checking out the latest changes. The build is triggered either based on time (for the daily builds) or on check in (continuous integration).
  2. After check out, CruiseControl.NET hands over to KickStart.proj, which we wrote and placed in the root of our CC.NET installation. This MSBuild script sets a couple of properties, and then delegates further work to
  3. Automated.proj. This MSBuild script is part of the checked out project that is to be built. It does all the heavy lifting, like build, unit tests or setup creation.

The obvious advantage of this setup: the build server doesn't know a thing about what the project needs (tools, libraries, you name it) to be built properly. Thus we are now doing our daily SharpDevelop builds, our CI SharpDevelop builds as well as SharpReport daily builds using one standardised setup. It took us a while to get into gear (old habits die hard, and why change a running system), but it is now fully operational.

Bootnote You can find all of our scripts in the repository. However, you need to check out trunk/SharpDevelopBuildServer instead of trunk/SharpDevelop.

Categories: Chris
Friday, 01 December 2006 17:44:37 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Wednesday, 22 November 2006

Yesterday, we set up an anonymous Subversion mirror for the SharpDevelop repository. Instructions on how to use it can be found here:

It replicates from the development repository every six hours starting at 3:15AM CET. Please note that we might remove anonymous access to the development repository in the future, so please switch over to the new mirror.

Categories: Chris
Wednesday, 22 November 2006 09:50:39 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 21 November 2006

The code converter has a new home: - please update your bookmarks, as well as applications that are using our conversion service. In addition to the move, we upgraded from revision 1591 to 2063.

Categories: Chris
Tuesday, 21 November 2006 16:39:18 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Sunday, 19 November 2006

Daniel mentioned in his blog post Open Source Code Statistics that earlier work on SharpDevelop 2.0 (code name Corsavy) was done in a non-public repository and thus not included in the statistics. The reason is that this initial Corsavy repository gave way to the current SharpDevelop repository, where all the work was imported in one fell swoop. Therefore no public knowledge exists on what happened in the early days of developing version 2.0. Well, this post intends to correct this situation.

First and foremost: the actual repository does not exist any more. All that remains are the commit messages collected in an mbox file: (154.11 KB)

To view this mbox file, please use the Windows MBox Viewer. All you need to do is File / Open and browse to the folder where you extracted CorsavyCommit.mbx to. Then you can browse the history of the internal repository for Corsavy:

A couple of things to note on the history:

  • The repository was operational from 12/31/2004 till 8/16/2005, when it was transitioned to the current repository.
  • It contains roughly 400 commits
  • Yes, the revision numbers do start at 1 again in the middle of the commit messages. Reason is that our initial Subversion server at this time had issues. So we had to start over with a new repository.

I hope that you will find this excursion on history lane interesting, especially on how long we actually worked on version 2.0 before going public. 

Categories: Chris
Sunday, 19 November 2006 21:08:49 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 07 November 2006

A rather informal launch as I am here in Barcelona at TechEd Developers - John (SharpZipLib maintainer) has released v0.85 for both .NET 1.1 and .NET 2.0:

The SharpZipLib download page doesn't yet reflect the new version, so this is the place to get the version first!

Categories: Chris
Tuesday, 07 November 2006 14:58:28 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Saturday, 04 November 2006

Because we shipped a non-working version of SharpReport with build, we have released build (Beta 2b) for those of you that test SharpReport inside SharpDevelop. The upshot: you now have the latest and greatest bits of SharpReport in SharpDevelop2 2.1 Beta 2. Download

Categories: Chris
Saturday, 04 November 2006 13:08:29 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Thursday, 02 November 2006

Please see the Beta 2 Announcement for details of what's new, changed, enhanced, fixed or even removed from the bits.

Categories: Chris
Thursday, 02 November 2006 10:31:50 (GMT Standard Time, UTC+00:00)  #    Comments [1]


In the blog entry SharpDevelop Presentation we announced our plans to reverse-integrate SharpReport in the future. This has happened as of today's Beta 2 launch of SharpDevelop.

The SharpReport Repository

SharpReport has a repository of its own now: svn://

The checkout procedures are explained in this Wiki entry.

Building SharpReport

After checkout, run debugbuild.bat:

This will populate the bin folder with the SharpReport standalone designer plus the SharpReport addin:

Simply execute SharpDevelop.SharpReport.exe and you will be presented with the familiar SharpDevelop IDE, however, slimmed down to support SharpReport-needed functionality only:

(Please note that as of this writing, the SharpReport samples haven't yet been checked in to the new repository)

Where Do I Get Support?

SharpReport now has a dedicated support forum, and Peter will be blogging about SharpReport features here.

Where Can I Download Binaries?

At this point, there are no precompiled packages available other than SharpReport shipping in Beta 2 of SharpDevelop 2.1. Note, however, that Beta 2 is shipping an older version of SharpReport than is available via the repository because of reverse integration.

Categories: Chris
Thursday, 02 November 2006 09:35:07 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Monday, 30 October 2006

The PDF contains a presentation on SharpDevelop touching the following points:

  • SharpDevelop - The IDE
  • SharpDevelop - The Core
  • SharpDevelop - The Architecture
  • SharpDevelop - The Components
  • SharpDevelop - The Team
  • SharpDevelop - The Future

The section "components" talks specifically about features of SharpDevelop that can be used in your applications.

sd2from10000ft.pdf (462.7 KB)

Categories: Chris
Monday, 30 October 2006 18:54:10 (GMT Standard Time, UTC+00:00)  #    Comments [0]


Daniel prepared an NRefactory Internals presentation for this year's #d^3 event in Bad Ischl. The PDF version is now available for download:

nrefactoryinternals.pdf (1.01 MB)

Categories: Chris
Monday, 30 October 2006 10:10:07 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 19 September 2006

Read the detailed announcement for version 2.1's Beta 1 release here.

Categories: Chris
Tuesday, 19 September 2006 10:38:18 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Monday, 18 September 2006

A feature that was implemented rather early in the codebase of SharpDevelop2 2.1 is support for code analysis via FxCop. This code analysis tool comes in really handy to for example spot security problems in your code (discussed in the article A Look Inside the Security Development Lifecycle at Microsoft), or more general, detect coding errors (please see the article Bad Code? FxCop to the Rescue, or FxCop, Your .NET Cop).

How does it look like? It integrates with the build system and errors / warnings are displayed alongside compiler warnings:

FxCop is not enabled by default, you have to do that in the project options:

It is considered good coding practice to enable code analysis.

Categories: Chris
Monday, 18 September 2006 13:29:55 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Sunday, 17 September 2006

SharpDevelop2 2.1 codenamed "Serralongue" will ship with support for WiX (Windows Installer XML toolset) setup creation. Matt has a detailed blog post on the WiX integration, as well as one on the new setup for SharpDevelop2 2.1 that was built using the WiX feature set.

In other news: we are pleased to announce that we will ship Beta 1 of SharpDevelop2 2.1 "Serralongue" on Tuesday, September 19th.

Categories: Chris
Sunday, 17 September 2006 17:46:22 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Sunday, 06 August 2006

Matt Ward (the feature owner) has put online a blog post on the new XPath Queries feature. Check it out and let Matt know what you think!

Note: this is a feature of SharpDevelop 2.1 "Serralongue", which at this time is only available directly from our source code repository.

Categories: Chris
Sunday, 06 August 2006 11:49:00 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 01 August 2006

SharpDevelop 2.1 "Serralongue" ships with the ability to be hosted in your application to provide IDE services for your users to extend / automate your application. Basically what we have done is split up SharpDevelop.exe into two assemblies, ICSharpCode.Sda.dll and SharpDevelop.exe, whereas the latter assembly only calls into the SDA API to bootstrap #develop itself.

To get an idea what you can do with SharpDevelop for Applications (SDA), I have created a screen recording of a walkthrough of the SdaUser sample that ships with Serralongue:

SharpDevelop for Applications demo (5.97MB)

Again, please note that Serralongue is currently only available via our Subversion repository.

Categories: Chris
Tuesday, 01 August 2006 15:54:50 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


SharpDevelop 2.1 code-named "Serralongue" will be shipping with list (object) data source support in SharpReport (#report). This list binding support comes in addition to binding to SQL-based data sources that was available previously. The following screen recording gives you a quick tour of the new list support and shipping samples for list data sources:

Video (3.98MB)

SharpDevelop 2.1 can be obtained only from the Subversion repository at this time. The samples shown in the demo video can be found in the samples\SharpReport directory (ReportSamples and ReportsFromList respectively).

Categories: Chris
Tuesday, 01 August 2006 07:22:07 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Monday, 17 July 2006

It took the team quite some time, but SharpDevelop2 2.0 Final has finally landed! Now that the foundation has been laid, work on version 2.1 will be much smoother.

Categories: Chris
Monday, 17 July 2006 07:34:53 (GMT Daylight Time, UTC+01:00)  #    Comments [2]


#  Wednesday, 12 July 2006

#  Monday, 05 June 2006

I just uploaded RC2 to SourceForge. This is the final release candidate before we ship SharpDevelop2 code-named "Corsavy". SharpDevelop2 works fine on Windows Vista as you can see in this screenshot:

This is not really surprising as every version of SharpDevelop ever shipped works with standard user privileges.

Categories: Chris
Monday, 05 June 2006 07:57:52 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 01 March 2006

The announcement mailing lists for SharpDevelop and SharpZipLib are folded into one that is now hosted at SourceForge:

If you want to continue to receive news about releases of SharpDevelop as well as our subprojects, then please subscribe for the new mailing list.

Categories: Chris
Wednesday, 01 March 2006 21:11:53 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Sunday, 12 February 2006

Please see the Beta 2 Announcement in our forum for details, a couple of interesting things have happened since Beta 1! Enjoy, and keep the suggestions and bug reports coming!

Categories: Chris
Sunday, 12 February 2006 20:13:21 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Thursday, 02 February 2006

Thanks to a patch from John Simons (he contributed an implementation for the necessary JScript Gobals object), SharpDevelop2 can now persist the Html Help settings. An example for the settings are the language filters - the below screenshot shows the default way a topic is being displayed:

Information on syntax and usage is displayed for all languages, which in most cases is inappropriate. So you can adapt the filter to your programming language preferences:

You could do that before revision 1058 too, however, upon closing and reopening (even the help browser), the language filter settings would have been lost. Now, this no longer happens (screenshot is after a restart, you simply have to trust me on this one - or even better, try the daily builds):

A seemingly small improvement, but I am sure that many developers will appreciate the effort that went into it!

Categories: Chris
Thursday, 02 February 2006 11:11:58 (GMT Standard Time, UTC+00:00)  #    Comments [3]


#  Wednesday, 01 February 2006

Yesterday, Matt checked in support for code coverage. As usual, he wrote a great tutorial on how to use it in his blog Code Coverage with NCover.

Categories: Chris
Wednesday, 01 February 2006 07:35:10 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Wednesday, 25 January 2006

Starting with revision 1038, the post install tasks batch file compiles (ngens) the main assemblies to native code. The main intention is to speed up initial startup of the application. Affected assemblies: SharpDevelop.exe, ICSharpCode.Core, log4net, ICSharpCode.SharpDevelop, ICSharpCode.TextEditor, WeifenLuo.WinFormsUI.Docking and ICSharpCode.NRefactory. Please note that PostInstallTasks.bat is called only from setup, so if you are building from source, you have to start it yourself.

Categories: Chris
Wednesday, 25 January 2006 17:53:17 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Monday, 19 December 2005

We just put the finishing touches on Beta 1 of SharpDevelop2. The official build number is, and as such is a LGPL-licensed release (read more here). Download

Categories: Chris
Monday, 19 December 2005 17:51:09 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Sunday, 18 December 2005

The SharpDevelop project started out as a "better than Notepad" solution five years ago. At that time, releasing it under the GPL was a natural decision, as the tool side of open source was always released under the GPL. However, SharpDevelop no longer is a simple tool, it is a framework for developers to extend the premier Open Source IDE, as well as build their applications on top of it.

To extend our reach beyond what a GPL-licensed framework could achieve, we decided to change the license for SharpDevelop2 – beginning with build, SharpDevelop2 is now available under the LGPL.

This change of license from GPL to LGPL will allow users and developers to extend Sharpdevelop in ways that were up to now unthinkable. Creation of closed source AddIns now is possible without licensing hassles. Integrate the popular SharpDevelop text editor control in your application for free in its latest incarnation. Base your own AddIn based application on the proven and tested SharpDevelop Core architecture.

Voices from the team

"Our application framework has proven to be very successful for a large Windows application – #develop being testament to its flexibility and power." Christoph Wille, SharpDevelop Project Manager

"SharpDevelop's AddIn architecture convinced me of the worth of Open Source on .NET. With the newly added Addin Manager, managing this powerful architecture is now easier than ever before." Daniel Grunwald, SharpDevelop, Development Lead v2.0

"The SharpDevelop architecture made it so easy for me to create my reporting tool that I just went ahead and did it on my own before joining the SharpDevelop team." Peter Forstmeier, SharpDevelop, SharpReport Developer

"Judging from my inbox, Antarctica is the only continent where there is no known user of SharpDevelop." Bernhard Spuida, SharpDevelop, Localization and Support Manager

Frequently Asked Questions (FAQ)

Which versions of the software are affected by the license change?

The change from GPL to LGPL applies to source code of #develop version 2.0, starting with revision 919. Any code older than this revision will remain GPL-licensed. This means, the entire #develop 1.x series will remain GPL, and all the GPL restrictions remain in place for those versions.

Aren’t tools supposed to be licensed under GPL? Doesn’t SharpDevelop qualify as a tool?

Yes, you are right. However, SharpDevelop is a framework that is meant to be extensible. Just because we are shipping a lot of functionality out of the box doesn’t mean that others can’t or shouldn’t write addins for SharpDevelop. We want to foster an ecosystem of third-party addins, no matter under which open source license or even commercial.

What’s in for me (the developer) now that you changed the license?

We imagine two main scenarios: you writing arbitrarily-licensed addins for #develop, as well as you using our assemblies to build your applications (especially the core, the text editor and #report). After all, linking to our binary assemblies is now restriction-free. All we ask (but not require) is that you do not rename the assemblies you use (we see this as free PR for us).

What if I need to modify the assemblies to suit my needs?

The only difference between GPL and LGPL is the linking exception. So if you need to modify the source code, the restriction of shipping your source code modifications alongside the compiled binary still kicks in. If you do not want to ship your source code modification, get in touch with us.

Would you consider integrating my code changes so I don’t have to ship it?

Absolutely. If your changes are applicable to a more general audience (ie if it isn’t too specific or limited to a single scenario), please see our information on contributing The advantage for you – if integrated, you no longer need to perform a custom build to keep your modifications in sync with our latest bug fixes. Aside from that, others might just have been waiting for the feature you implemented.

Can I take soure file xyz.cs and use it in my application?

The main difference between GPL and LGPL is the linking exception. If you want to incorporate some of our source files into your projects, you are still bound to license your code under a compatible license.

Where can I read about the LGPL?

At the authoritative source:

Did you read “Why you shouldn't use the Library GPL for your next library”?

Yes, we read RMS’ article at Actually, we intentionally chose LGPL because “using the Library GPL permits use of the library in proprietary programs”.

OK – so why didn’t you go the whole nine yards and BSD-licensed the SharpDevelop code base?

Frankly, we do not want to see our code end up filleted to suit in various commercial applications.

I know SharpDevelop has been around for four years+, how were you able to change the license?

We require copyright assignments from all contributors. That is why it was rather easy for us, compared to other Open Source projects that didn’t have this policy in place and consequently ran into trouble when they needed to change their license.

Categories: Chris
Sunday, 18 December 2005 20:00:51 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Monday, 14 November 2005

CCNet 1.0 Final was released today, our build server has already been upgraded.

Categories: Chris
Monday, 14 November 2005 10:47:03 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Sunday, 13 November 2005

The code converter now goes the whole nine yards: C# to VB.NET, VB.NET to C#, C# to Boo and VB.NET to Boo. Additionally, it sports background information, and the converter has been revamped.

Also, there is a sample of how to employ the Web service in my other blog here. (download of executable and source code included)

Categories: Chris
Sunday, 13 November 2005 20:15:35 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Thursday, 10 November 2005

Daniel's comment got me into gear, and not only did I implement the #develop way of code conversion, I also put it online so you can convert your source code easily:

Convert C# 2.0 Code to VB.NET 8.0

Categories: Chris
Thursday, 10 November 2005 19:11:13 (GMT Standard Time, UTC+00:00)  #    Comments [0]


Daniel did a great video on what is possible with NRefactory. When I saw it, I felt that I had to build something with it - and so I set out to create a simple ASP.NET 2.0 page that converts C# source code to VB.NET source code (written in VB.NET, just to get my fingers dirty once in a while):

The code is pretty much the same as Daniel wrote, this time VB.NET:

Imports ICSharpCode.NRefactory.Parser
Imports ICSharpCode.NRefactory.Parser.AST
Imports ICSharpCode.NRefactory.PrettyPrinter

Imports System.IO

Partial Class CodeConvert Inherits System.Web.UI.Page

Protected Sub convertCode_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles convertCode.Click
   Dim input As New StringReader(inputTextBox.Text)
   Dim parser As IParser

   parser = ParserFactory.CreateParser(SupportedLanguage.CSharp, input)

   If (parser.Errors.count > 0) Then
      outputTextBox.Text = parser.Errors.ErrorOutput
      Exit Sub
   End If

   Dim cu As CompilationUnit, output As IOutputASTVisitor
   cu = parser.CompilationUnit

   output = CType(New VBNetOutputVisitor(), IOutputASTVisitor)
   cu.AcceptVisitor(output, DBNull.Value)
   outputTextBox.Text = output.Text
End Sub
End Class

The source code for the entire Web application is provided in the download at the end of this blog entry. Feel free to add more features to it, just note that the code is GPL-licensed, so please make your changes public. (114.98 KB)

Categories: Chris
Thursday, 10 November 2005 17:56:58 (GMT Standard Time, UTC+00:00)  #    Comments [2]


#  Wednesday, 09 November 2005

Matt has a blog entry up with a list of features currently MIA for SharpDevelop 2.0. He promises to keep this list updated, so you know where to look to see if a feature has already made it to 2.0 or not.

Couple of notes: do not expect SharpReport to be ported any time soon. It itself is a work in progress, and is currently being finalized in version 1.1 (Fidalgo) of SharpDevelop. Also, Assembly Analyzer might or might not make it all.

Categories: Chris
Wednesday, 09 November 2005 18:01:21 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Sunday, 06 November 2005

After some internal testing, our public build server is now live under the following URL:

There you can review the build logs (we basically perform a src\prepareRelease, src\releaseBuild and setup\buildSetup). On a successful build, the artefacts are copied to

where you can download both source zips as well as pre-built setup applications.

Categories: Chris
Sunday, 06 November 2005 10:01:13 (GMT Standard Time, UTC+00:00)  #    Comments [3]


#  Tuesday, 01 November 2005

The new URL for the Corsavy repository is


Change reason is that Serralongue will be branched in this repository, therefore having a "codename-locked" repository name was a bad idea.

Categories: Chris
Tuesday, 01 November 2005 16:57:46 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Sunday, 16 October 2005

Make sure you check out the contributor blogs. Just recently, Matt blogged about Mono integration (here and here), targetting different framework versions, as well as NAnt integration in SharpDevelop 2.0.

Categories: Chris
Sunday, 16 October 2005 15:04:36 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 04 October 2005

When moving to the latest dasBlog version, we also set up a dedicated host for the team blog. This will make it easier for us to run the sites with different versions of ASP.NET.

Categories: Chris
Tuesday, 04 October 2005 14:47:44 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Monday, 26 September 2005
Yesterday, we have released builds for the 1.1 series, as well as another standalone setup for the 2.0 alpha. The former can be downloaded from our download page, the latter is only available on our download page.
Categories: Chris
Monday, 26 September 2005 10:11:14 (GMT Daylight Time, UTC+01:00)  #    Comments [2]


#  Tuesday, 23 August 2005

This video is a quick introduction to the new bookmarks, search & replace, go to, help system, classes pad and some refactoring inside SharpDevelop 2.0:

QuickTourOfCorsavy.wmv (4.67 MB)

Categories: Chris
Tuesday, 23 August 2005 19:38:45 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Monday, 22 August 2005

Today, we switched from Snitz Forum to Community Server. The main reason for this switch was performance-related: the original forum has outgrown its backend database. We tried to postpone - or put off - that necessary step for long.

One reason was that I originally planned to migrate the data from Snitz to CS, but that turned out to be a rather nasty process (the schemas are way too different, not to speak of user profiles and password storage). So it was decided to leave the old forum up and running in read-only mode, and have all new posts in the new forum.

Categories: Chris
Monday, 22 August 2005 16:57:17 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


Matt Ward just recently added support for MSBuild files to the XML Editor inside #develop:

MSBuildCompletion.wmv (2.82 MB)

You can try this feature yourself by downloading the hot off the press #develop Corsavy alpha. Read the announcement I posted in our new forum.

Categories: Chris
Monday, 22 August 2005 14:49:06 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 17 August 2005

The video about the integrated debugger in #develop 2.0 whetted your appetite? You want to take the current bits for a spin? So here you go, but be warned: the bits you are going to grab are neither stabilized nor heavily tested.

First, read up on repository access in our Wiki:

Using the repository

The checkout command needs to be modified as follows:

svn co svn:// SharpDevelop

The bits in the repository currently compile against the .NET Framework 2.0 Beta 2, which can be downloaded freely here. At a minimum, you need the Runtime. SDK is recommended though.

A few more notes: please use the mailing lists for reporting problems etc. Which ones to use are described in the aforementioned Wiki article. These haven't changed from Fidalgo to Corsavy. Please be sure to not only include the error message, but also the steps to reproduce as well as files pertinent to make is reproducible.

Next week we plan to release an alpha binary for those of you who don't want or cannot access our Subversion repository.

Categories: Chris
Wednesday, 17 August 2005 10:32:01 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Tuesday, 16 August 2005

This video is a short demonstration of the debugger that is integrated with Corsavy, the version 2.0 of #develop, targetting .NET 2.0. The debugger is being implemented by David Srbecky, and you can read about the debugger in the Wiki. However, you came here for the video, so here you go:

DebuggerInCorsavy.wmv (5.01 MB)

David did a great job to get this beast up and running, and you can expect more features to be added in the near future.

Categories: Chris
Tuesday, 16 August 2005 16:59:33 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Sunday, 07 August 2005

This release does not come with any major new features, this release mostly focuses on stability and we do hope that we finally nailed down the "Can't shutdown" bug in #develop. If you still experience this problem, please visit this thread in our forum. Download

Categories: Chris
Sunday, 07 August 2005 18:25:03 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Sunday, 31 July 2005

Yesterday's post already hinted at this weekend's event in Bad Ischl, Austria: #d^3. The #develop developer days are a get together for core developers, this year's participants are (in no specific order) Mike, Andrea, Markus, Peter, Christian, Bernhard and myself. Main goal: getting some work done on Corsavy, our version 2.0 #develop.

Here are some photos:

Mike Krüger to the left, Peter (#report) standing in the middle, Markus (VB.NET and lots of other stuff) sitting to the right.

This time, we start from the right: Bernd (Senior Word Wrangler) starting SuSE on his laptop, Andrea (working on the lexer) sitting next to him.

Categories: Chris
Sunday, 31 July 2005 10:10:12 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Saturday, 30 July 2005

While sitting at #d^3 (#develop developer days) here in Bad Ischl, we dug up the photo that was on the homepage of a long time ago:


Categories: Chris
Saturday, 30 July 2005 12:41:24 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Thursday, 28 April 2005
Today we released the Beta for #develop 1.1. More information
Categories: Chris
Thursday, 28 April 2005 18:27:57 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


In this video, I show how to use the new Web References feature (contributed just recently by Matt Ward) in #develop 1.1:

WebReferences.wmv (1.89 MB)

Categories: Chris
Thursday, 28 April 2005 18:21:17 (GMT Daylight Time, UTC+01:00)  #    Comments [1]


#  Thursday, 21 April 2005

In this video, I show all the steps necessary from installing TortoiseSVN to downloading and building #develop. Note: the steps are described in our Wiki, topic Using the Repository.

ObtainingSharpDevelopFromSubversionRepository.wmv (4.09 MB)

Categories: Chris
Thursday, 21 April 2005 19:58:53 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Friday, 15 April 2005

All existing feature videos are listed there. Go there and suggest demonstrations you would like us to record, from a user's perspective as well as a developer contributing to #develop (or our development process for that matter).

Categories: Chris
Friday, 15 April 2005 07:44:54 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 13 April 2005

This demonstration shows the cool new XML editing features in 1.1: intellisense, folding and validation.

XmlEditing.wmv (3.02 MB)

Categories: Chris
Wednesday, 13 April 2005 22:30:06 (GMT Daylight Time, UTC+01:00)  #    Comments [2]


Included in the 1.1 preview is an early version of the #report addin, done by Peter Forstmeier and Christian Amariei. This addin is not yet polished (you will see debug messages, a non-fatal crash once in a while, you name it), but still you can get a very good idea of what is to come. Give us feedback via the forum on what you would like to see in #report!

SharpReportAddin.wmv (3.23 MB)

Categories: Chris
Wednesday, 13 April 2005 21:44:52 (GMT Daylight Time, UTC+01:00)  #    Comments [3]


Another contribution by Matt Ward - the NAnt integration inside #develop. From build file generation to deep integration, this demo will show what you can do:

NAntAddin.wmv (2.97 MB)

Categories: Chris
Wednesday, 13 April 2005 20:38:54 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


Matt Ward contributed a PInvoke addin to #develop. This screen recording shows how easy it is to use:

PInvokeAddin.wmv (789.76 KB)

Categories: Chris
Wednesday, 13 April 2005 20:11:00 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 12 April 2005

Today, Daniel (DevLead for 1.1) integrated the new help addin that was written by Mathias Simmack. To get an idea how it will work, I created a screen recording for you to watch:

HelpIntegration.wmv (1012.31 KB)

Categories: Chris
Tuesday, 12 April 2005 20:16:37 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


The most recent checkin mandates that you have MSXML 4.0 installed. Get it here.

Categories: Chris
Tuesday, 12 April 2005 18:22:14 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Saturday, 09 April 2005

The SharpReport addin has been checked in for the Fidalgo branch. Peter Forstmeier (your primary contact for everything #report) sent me a screenshot of SharpReport in action so those of you who don't play around with bits from Subversion can have an early look:


Categories: Chris
Saturday, 09 April 2005 12:22:35 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Sunday, 03 April 2005

Matt Ward has checked in his Xml Editor addin. To get an idea what you can do with it, I decided to include the tech note he wrote in this blog post. Be sure to check out section #2, user interface. It includes a couple of screenshots.

XmlEditorAddinTechNote_01.pdf (234.3 KB)

Categories: Chris
Sunday, 03 April 2005 14:47:00 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Monday, 24 January 2005

Now running on the latest version - Gemini v1.9a.

Categories: Chris
Monday, 24 January 2005 13:52:10 (GMT Standard Time, UTC+00:00)  #    Comments [0]


John has packaged a new release of #ziplib - version 0.83. It is up on the download page, the wiki is now the new location for the release history.

Categories: Chris
Monday, 24 January 2005 11:53:10 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Wednesday, 19 January 2005

During my Webcast, I showed three screenshots of Corsavy (our v2.0 running atop v2.0 of .NET), because there is nothing that can be called "alpha" yet.

The Class Browser and Project Scout

ClassBrowserProjects.png (64.09 KB)

The Bookmark Pad

BookmarkPad.png (102.8 KB)

The new Search & Replace dialog

SearchAndReplaceDialog.png (9 KB)

Because the question When will it be available? cropped up during the Webcast, here is my answer: our plans are to release an alpha close to Beta 2 of .NET 2.0. This means a time window of 1 to 2 months after the Beta becomes widely available (there might be some unforeseen problems, and we definitely do not want to underdeliver).

Categories: Chris
Wednesday, 19 January 2005 13:29:04 (GMT Standard Time, UTC+00:00)  #    Comments [6]


#  Friday, 14 January 2005

The repository for #ziplib has moved too; its new home is now:


Categories: Chris
Friday, 14 January 2005 12:49:26 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Thursday, 13 January 2005

In the wake of the repository move, we released an interim to get rid of the now already rightly infamous SD-297 bug (ObjectDisposedException). You can find it on our download page.

Categories: Chris
Thursday, 13 January 2005 21:48:03 (GMT Standard Time, UTC+00:00)  #    Comments [0]


The Subversion repository for #develop Fidalgo has moved, the new repository URL is:


The SVN protocol is definitely much faster than WebDAV / Apache.

Categories: Chris
Thursday, 13 January 2005 21:47:01 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Monday, 03 January 2005

Together with Uwe Baumann, I will be doing a one hour Webcast (German language) on #develop. The date is set for 17th of January, 4pm CET. You can learn more on the MSDN page .NET-Entwicklung zum Nulltarif mit SharpDevelop. Hope to see a few of our German-speaking users!

Categories: Chris
Monday, 03 January 2005 19:56:00 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Wednesday, 08 December 2004

Mike did it again - scratching an itch he programmed a .NET wrapper library for usblib. Now you have #usblib at your disposal, a USB library for low-level access to USB ports, working under Win32 / .NET and Linux / Mono.

Categories: Chris
Wednesday, 08 December 2004 10:21:12 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Tuesday, 30 November 2004

Our bugtracker now runs on the latest version of Gemini. Sorted out are a few browser issues, caching problems, and we now have full Unicode support in the bug tracker. Of course not to forget full HTML reporting via FreeTextBox. Neat.

Categories: Chris
Tuesday, 30 November 2004 09:34:38 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Thursday, 25 November 2004

#ziplib has been moved from the #develop source tree into a new, separate repository. This is intended to remove restrictions from #ziplib's source tree (ie 'always stable'), because #develop depended on #ziplib - something that doesn't work quite well when two projects are on different release schedules.

The new repository is located at, the usual checkout guidelines apply.

Categories: Chris
Thursday, 25 November 2004 18:10:32 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Wednesday, 10 November 2004

See the announcement in our forums.

Categories: Chris
Wednesday, 10 November 2004 14:36:42 (GMT Standard Time, UTC+00:00)  #    Comments [3]


#  Sunday, 07 November 2004

Mike brought back a new feature for the text editor from the conference: font size changing using the scroll wheel on a modern mouse. In the wake of this new feature, work is commencing on the Buffer Options / General tab:

To see the mouse wheel zooming in action (press the Ctrl key and scroll the mouse wheel to see for yourself), download the video (81.06 KB)

Categories: Chris
Sunday, 07 November 2004 13:26:57 (GMT Standard Time, UTC+00:00)  #    Comments [2]


#  Saturday, 06 November 2004

Give it a try when we release 1.0.2, or grab 1688 now!

Categories: Chris
Saturday, 06 November 2004 10:31:34 (GMT Standard Time, UTC+00:00)  #    Comments [1]


#  Thursday, 04 November 2004

Mike and Bernd currently attend the DevCon Europe 2004 (German site). They are presenting two talks - one is an overview of #develop, the other an in-depth talk on the architecture of #develop. To better visualize the idea of the addin infrastructure, Mike revamped the Addin Scout.

There is now a real tree view of the addin tree, where you can see which tree node is extended by which addin:

The addin view in contrast tells you exactly what tree nodes are extended by an addin.

Pretty neat tool for explaining the concept of the addin tree.

Categories: Chris
Thursday, 04 November 2004 10:24:15 (GMT Standard Time, UTC+00:00)  #    Comments [0]


We are currently mulling the possibility of a public build server (CruiseControl.NET-based). Anybody willing to step up as a sponsor (hosting, advertising, ...)? Speaking of sponsoring: if you or your company wants to sponsor a specific feature, please contact me @ christophw at

Categories: Chris
Thursday, 04 November 2004 10:12:10 (GMT Standard Time, UTC+00:00)  #    Comments [0]


#  Monday, 25 October 2004

Roman fixed the problems with our source code control server. It is up and running again.

Categories: Chris
Monday, 25 October 2004 15:05:01 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Sunday, 24 October 2004

As some of you have already noticed, our Subversion server is currently down (reachable, but not servicing requests). We'll keep you posted once it is up and running again.

Categories: Chris
Sunday, 24 October 2004 08:41:13 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Thursday, 07 October 2004

Daniel introduced an exception bug in revision 1636 - and we didn't find it in time for release (though it was all too obvious to reproduce). 1649 is now released, and he checked in the change again - the new file dialog is now smart about subdirectories and namespaces (1650 if you are curious).

Also, the 1.0.1 installer is using a Windows Scripting Host (WSH) script to install three assemblies into the GAC and generate the help index. If your initial start tells you about a missing file, it might be that (a) scripting is disabled on your box or (b) your antivirus scanner has script blocking enabled. Sorry for the inconvenience, but simple batch files don't cut the mustard any more.

Categories: Chris
Thursday, 07 October 2004 19:48:59 (GMT Daylight Time, UTC+01:00)  #    Comments [2]


We are proud to have released the first maintenance release of the 1.0.x series (almost on schedule). It is available on our download page, the changes are documented as usual. One thing that wasn't possible due to time constraints (read: necessary testing) is to fix the resource import issues for VS.NET projects. You can count on us tackling this next.

Categories: Chris
Thursday, 07 October 2004 16:23:56 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 05 October 2004

A longstanding issue has been resolved: consistent assembly versioning is now in the source tree. With this change, all assemblies reflect a central scheme - a three digit version number followed by the Subversion revision number of the tree it lives in. With this build process change, we also fixed all assemblies that had missing assembly infos (mostly backend bindings).

In other news: we also checked in NProf 0.9alpha.

Categories: Chris
Tuesday, 05 October 2004 11:45:16 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Friday, 24 September 2004
  • SD-243 "Code completion overload insight window scroll arrows not working"
  • SD-229 "Horizontal scroll bar too sensitive"
  • SD-186 "Permission problem in VS.NET importer"
  • SD-239 "Auto code generation exception"
  • SD-242 "Switching File Mode to VS-C# from C#, quotes will "vanish""
Categories: Chris
Friday, 24 September 2004 06:52:13 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Thursday, 23 September 2004
  • SD-224 "Destructors can't be folded"
  • SD-232 "Toolbox Scrollbars"
  • SD-236 "Code generation list has duplicate entries"
Categories: Chris
Thursday, 23 September 2004 06:33:17 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 22 September 2004
  • SD-238 "WinForms template namespace issue"
  • SD-231 "Save / Save All commands context sensitive"
  • SD-225 "Endless loop: folding invalid nested classed"
  • SD-184 "Update Tracker to Gemini 1.7"
Categories: Chris
Wednesday, 22 September 2004 08:46:37 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Tuesday, 21 September 2004

Our bug tracker is now updated to Gemini v1.7.1. In the course of this update I also put the user documentation of Gemini online - if you are interested, read the PDF document.

Categories: Chris
Tuesday, 21 September 2004 20:02:36 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


Part of my job as Senior Project Wrangler encompasses "evangelizing" team members on certain aspects of development / project management. One area that we try hard to get right is the user interface; not that this would be easy (or popular in the team) as can be read in the article Why Free Software usability tends to suck.

Categories: Chris
Tuesday, 21 September 2004 19:07:55 (GMT Daylight Time, UTC+01:00)  #    Comments [0]


#  Wednesday, 15 September 2004

In revision 1554, the src\3rdParty directory was deleted. It was added when we experimentally integrated the Dr. C# addin, but had to remove it later on because it wasn't maintained. What stayed around till that revision was the directory where it lived.

Last week, I had a discussion about repopulating that directory with a third party addin. Various good reasons why to add that specific addin to the distribution exist, but in the course of the discussion (which really forced me to rethink that third party source directory "feature") I found out that having tightly integrated third party addins in our codebase / distribution is no good idea:

  • The need to sync the codebase in our src\3rdParty directory with the repository of the actual addin project (which might be developed on a different schedule). This also means that the burden of integration testing is upon us.
  • Support issues. If you have an addin that almost perfectly blends into the #develop user experience so it looks like a stock feature, users will report bugs to us automatically. Or post feature requests to us. Users don't see where an addin is loaded from, they don't care.
  • Linked to support issues is code quality. We don't intend to review someone else's code if it meets certain standards, less to speak if it hypothetically contains exploitable or even malicious code. A liability issue that we do not want to get into.
  • Maintainance. Programmers don't necessarily maintain their addin forever, it might get abandoned. We are then faced with two options - take ownership or remove the feature. Both options are not feasible - for one, we might not know the inner workings at all which makes it extremely time consuming, or secondly, having to explain to users why a feature they (potentially) loved was kicked out.

For these reasons, we decided to remove that directory and continue to stick with our policy: our repository contains only our code (exceptions: non-addin libraries and build tools), and our distribution of #develop only contains addins that are maintained by us. This way we avoid those sticky issues.

Categories: Chris
Wednesday, 15 September 2004 18:34:16 (GMT Daylight Time, UTC+01:00)  #    Comments [2]


© Copyright 2016 SharpDevelop Core Team

Subscribe to this weblog's RSS feed with SharpReader, Radio Userland, NewsGator or any other aggregator listening on port 5335 by clicking this button.   RSS 2.0|Atom 1.0  Send mail to the author(s)


Copyright ©2000-2009 IC#Code. All rights reserved. Projects sponsored by AlphaSierraPapa.