MB december 2006 - Sys-con

wrackbaaΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 4 χρόνια και 7 μήνες)

82 εμφανίσεις

MB January 2007

Details on Mono 1.2.2 and SharpDevelop2

Mono 1.2.2

Mon 1.2.2 was released last month, and with the help of the Mono Migration Tool, Moma, discussed last
month, 496 new methods were added, 212 “bogus” TODOs were removed, and 65 NotImplem
entedExceptions were
removed. If you want an easy way to help the Mono project, download Moma from
. It is a GUI program; you just browse to any .NET .exe or .dll file or set

of files. You can then
view the log file or make a single click to send a copy of the report to the Mono team, who will use it to improve
Mono. This may not seem like much, but if you have followed this column for long, you have read about how
important h
aving companies support and test their applications on Mono. This has the same effect, but is much
easier, and can be done by anyone. I ran it on SharpDevelop, and there were 194 methods that were missing in
Mono 1.2.2, 38 methods called that would throw a

NotImplementedException (note the would; Mono works via
reflection, and does not actually run the program.), 79 methods that were marked with Todo attributes (methods that
were implemented, but marked as not handling all cases or needing some other improv
ement), and 81 calls to the
Windows OS (P/Invokes). Note that many are duplicates, I checked the P/Invokes, and 51 of them were unique. The
missing methods seem to have many more duplicates, mostly .NET 2.0 winforms methods in just a few controls;
many wer
e in either the tree and tool controls, most related to displaying in RightToLeft mode.

You can read Miguel’s synopsis of the results from the first 114 reports at
; one interesting fact is that less than 10% have P/Invokes that
would be difficult to port to Mono.

New ToolStrip classes were one of the big improvements in Winforms in Mono 1.2.2, the other was
upgrading the cairo base to 1.2.6.

The code base for C# 1.1 and C# 2.0 with generics continued to be merged; now
the only differences are generics, and the parser. After many fixes to the new VB runtime and compiler, both
IbuySpy and DevZone (based on DotNEtNuke) now run on Mono.


It has been awhile since I have written about SharpDevelop, and in the interim, much has changed. Version
2.0 was released back during the summer as SharpDevelop2, and version 2.1 is now in its third beta. Tool support
now includes built in NUnit
for unit testing, NCover for code coverage, intergrated access to FxCop for static code
analysis, Subversion for version control, and MSBuild support.

Supported project types include the window, console, control, and other type you would expect, but also
irect3D, .NET 3.0 WPF applications and Navigation applications, compact framework, SharpDevelop addins and
tools menu projects, setup projects, and for Mono developers, Mono project that use GTK# and Glade, and most of
these project types are available in
both C# and VB. BOO projects are also supported, but if you want to really
impress your friends, ShaprpDevelop supports ILAsm (.NET assembly language) projects, setting you up with a
ILAsm “Hello World” program; how cool is that?

It also has support for W
iX 2.0 controls, PDF output from the database report generator (SharpReport), a
visual XML editor that uses a tree view, supports different frameworks (.NET, Compact Framework, and Mono),
can de hosted in third party applications, XPath Queries, conversion

between VB and C#, and from C# to BOO, and
a resource toolkit.

This is one of the better, full
featured IDEs available. It is not quit as polished as the gold standard in IDES,
Visual Studio, but it comes close. In my opinion it easily beats the “express

versions” of Visual Studio. Its biggest
shortfall is user documentation. Of course the source code is available, and the story behind it and details of its
arcatechure can be found in the book “Dissecting A C3 Application: inside SharpDevelop” from Apress

can be
downloaded free from
. SharpDevelop can be downloaded from
http://www.icsharpcode.net/OpenSource/SD/Download/, and it has an active community at
, and a wiki at

where you can also see the roadmap
for SharpDevelop3 which will be based on C# 3.0 and .
NET 3.0 including WPF, WF, WCF, and infoCard.

Odds and Ends

Back in October, the Mono team had a meeting in Cambridge Massachusetts and the slides from the
meeting are now online at
. These slides are
interesting as an overview, but they were meant to be props for lectures, and in most cases are too sparse to be used
by people not already familiar with the subjects.

is now a coverage tool for Mono called monocov, more information canbe found at

MonoDevelop has set out a roadmap for the 1
.0 release; you can see it at

For Mac Xcode developers, there is a new tutorial on
using Mono on the Mac at http://mono