Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 24 reacties
Bron: Mono Project

Mono is een open-source implementatie van het .NET Framework. Door gebruik te maken van Mono kunnen ontwikkelaars crossplatform applicaties schrijven die niet alleen op Windows-systemen zullen werken, maar ook op Mac OS X, Linux en Unix. De software bevat onder andere een C#-compiler, een .NET compatible runtime en twee verschillende sets API's: een set die compatibiliteit met Microsofts .NET Framework verzorgt (inclusief ondersteuning voor ASP.NET, ADO.NET en een aantal andere componenten) en een set die allerlei Linux- en Unix-specifieke functies aanbiedt. De ontwikkelaars hebben versie 1.1.17 uitgebracht met de volgende aankondiging:

Highlights:

Basic world: The Mono Basic compiler and the Basic runtime have been removed from the Mono distribution. A new compiler that is compatible with Visual Basic 2005 and a matching runtime are now part of a separate distribution. On this particular release, we are offering the basic runtime, but the compiler is not able to run completely on Mono yet.

Windows.Forms: Printing is now supported.

This release is able to compile and build IronPython 1.0 RC2.

COM: Basic COM support has been integrated.

Inotify watcher
    The FileSystem will now use inotify directly on systems that support it without having to go through an external library like FAM or Gamin, this should make our use of inotify reliable. [Gonzalo Paniagua]
Async Process Notification
    2.0 support for asynchronous reads and writes from the Process class is now supported [Gonzalo].
Mono Loading as a Shared Library Works Again
    This was a problem that mostly affected the OpenOffice plugin, which loaded Mono as a separate process, this is now fixed [Zoltan Varga]
Gtk# Split
    As part of Gtk# becoming one of the supported language bindings in the Gnome platform and Tomboy, a Gtk#-based application, becoming part of the Gnome desktop, Gtk# has been split up into multiple packages, instead of a single one.
    All the packages are available from our download site [Mike Kestner].
Mono.Cairo
    Mono.Cairo bindings now supports a DirectFB surface now [Alp Toker].
System.Drawing
    This release includes an upgraded Cairo stack (from 1.0 to 1.2) and allowed us to enable printing in System.Drawing and System.Windows.Forms.
    The original work was done by Jordi Mas, the Cairo upgrade by Peter Bartok and the work was completed by Chris Toshok.
2.0 API updates
    String.Normalize is included [Atsushi Enomoto]
    ADO.NET 2.0 updates, included an implementation for SqlConnection.GetSchema (Nagappan).
Registry
    Updated to the 2.0 API. [Miguel de Icaza]
    Gert added support for splitting the registry across user and system level settings. [Gert Driesen]
mod_mono
    Added support for X.509 client certificates. It's now possible to use System.Web.HttpClientCertificate with Apache. Certificate validation can be done by Apache, Mono or both (default). [Hubert Fongarnand, Sebastien Pouliot]
Security
    SN now accept password-protected PKCS#12/PFX files to strongname assemblies. This feature is enabled in both 1.x and 2.0 profiles [Sebastien Pouliot]
Additions
    CodeDOM JScriptCodeProvider code JavaScript code is now included [Akiramei]
    An EventLog implementation is available on both Unix and Windows, to use set the MONO_EVENTLOG_TYPE variable like this:
    • local[:path] generates a log file in the given path. If the path is not given, it will store the results in "/var/lib/mono/eventlog" on Unix and in "%APPDATA%\mono\eventlog" on Windows.
    • win32: This uses the native Windows API to send the log messages to the system event log.
    • null: discards all of the events
    to a pathname where the events should be logged to [Atsuhi Enomoto, Gert Driesen]
    COM Interop: Basic support for Runtime Callable Wrappers (RCWs). This allows users to use unmanaged components from managed code. [Jon Chambers]
    Sqlite now exposes a Version property to detect which underlying database is available (2.x or 3.x) [Joshua Tauberer]
    Mono.Posix now features an abstract Unix end point in addition to Unix End Points [Alp Toker].
XML Land
    Fixed XmlSchemaSet and XmlSchemaCollection problem across multiple namespaces [Atsushi Enomoto]
Important Bug Fixes
    Dynamic linking of Mono is now possible in applications that were using the TLS (open office) [Zoltan Varga].
    Newly created AppDomains no longer inherit the list of loaded assemblies from the main domain. This has an important side-effect, to get XSP and mod_mono running, you must install the latest versions of it (released in this iteration), older versions will not work [Lluis Sánchez].
    A number of missing pieces of System.IO.Ports have been implemented (ReadChar, ReadLine, BytesToRead, BytesToWrite, ReadTo, return USB tty devices) [Miguel de Icaza].
    ASP.NET Cache will check file dependencies now (79002) [Gonzalo Paniagua]
Alpha Port
    The beginning of a port to Linux/Alpha has been contributed to Mono, [Sergey Tikhonov]
Cilc
    Cilc, a tool to generate C wrappers for managed routines has been relicensed from the GPL to the MIT X11 [Alp Toker]
Postgress
    Updated the Posgress data bindings to RC3 [Francisco Figueiredo].
Bugs fixed
    The following bugs were fixed on this release:
    75555, 76449, 76453, 76757, 77340, 77551, 77820, 78190, 78220, 78271, 78288, 78291, 78328, 78399, 78483, 78513, 78525, 78592, 78607, 78646, 78661, 78696, 78730, 78731, 78732, 78737, 78746, 78753, 78759, 78761, 78773, 78775, 78800, 78804, 78806, 78810, 78813, 78816, 78821, 78822, 78825, 78826, 78827, 78837, 78854, 78855, 78856, 78859, 78864, 78865, 78866, 78868, 78869, 78871, 78877, 78886, 78889, 78907, 78912, 78914, 78927, 78929, 78931, 78939, 78945, 78949, 78969, 78970, 78971, 78972, 78977, 79000, 79001, 79002, 79007, 79016, 79020, 79023, 79030, 79037, 79052, 79053, 79076, 79080, 79085, 79087, 79091, 79095, 79096, 79150, 30235, 45730, 70506, 77403, 77489, 77539, 78253, 78468, 78703, 78724, 78767, 78770, 78784, 78799, 78842, 78860, 78888, 78899, 78901, 78943, 78968, 79010, 79033, 79056, 79067, 79084, 79090, 79112, 79117, 79118, 79125, 77396, 78323, 78384, 78986, 78990, 79012, 79019, 79026, 79064, 77963, 78985, 79027 and 79028.
Versienummer:1.1.17
Besturingssystemen:Windows 2000, Linux, Windows XP, macOS, Solaris
Website:Mono Project
Download:http://www.mono-project.com/Downloads
Licentietype:Voorwaarden (GNU/BSD/etc.)
Moderatie-faq Wijzig weergave

Reacties (24)

Ik lees hier dat er een port is van paint.net. Zijn er mensen die er reeds ervaring mee hebben?
Is het bv ook voor de wat minder ervare linux gebruikers te instaleren?
Dit is alleen maar een proof of concept van een van de mono devvers. Er is dus nog geen echte port, het zou wel heel leuk zijn als er een project komt om paint.net (steeds de nieuwste versie) te porten naar mono. Zelf vind ik Gimp vaak te ingewikkeld voor de simpele dingen die ik moet doen met een plaatje. Dan zou denk ik paint.net een uitkomst bieden.
Mono is voor minder ervaren Linux gebruikers ook wel te installeren hoor. Ik heb zelf speciaal voor Mono hier op mijn werk een Debian machine met KDE geďnstaleerd en ik ben absoluut geen ervaren gebruiker. Mono installeren en Mono-Develop en je kunt aan de slag. De interface is wel iets anders, het is een beetje te vergelijken met SharpDevelop (wat weer een afsplitsing is van MonoDevelop begreep ik).

Het is wel de moeite waard om eens te proberen, desnoods in een VMWare als je geen machine over hebt.
De vraag was niet of het moeilijk was mono te installeren maar paint.net.

Het is wel te doen maar je moet "even" paint.net porten naar mono ;-)
Ik ben erg benieuwd hoe ver dit project nu is, zijn er mensen met Mono ervaring?

Is het bijvoorbeeld al mogelijk om een (misschien simpel) c# programma's te draaien onder linux?
Een console applicatie gemaakt voor .Net 1.1 werkt prima in Mono. Applicaties die gebruik maken van de System.Windows.Forms implementatie van .NET 1.0 werken ook wel vaak redelijk. Ondersteuning voor .NET 2.0 is nog niet geimplementeerd.
.NET 2.0 is wel geimplementeerd, maar nog niet voor de 100%. De eerte console applicaties voor .NET 2.0 heb ik hier al werkend gehad met mono 1.16.
Ben niet echt een MS fan maar ik vind C# een mooie taal. Ik merk ook dat het een stuk sneller draait dan java. Er zijn een heleboel mooie C# programma's voor Linux (Banshee, Muine, F-spot, Diva, Tomboy enz.).
Vergeet de apps gemaakt door novell niet he (beagle)!
tot nu toe werken al mijn applicaties die ik heb gemaakt met Visual Studio 2003 in C# gewoon onder Linux. ik heb getest met CLI apps en met ASP.NET webapplicaties.
Werken de ontwikkelaars eigenlijk samen met Microsoft (of via overleg?). Het lijkt me dat Microsoft er ook baat bij heeft dat .NET op meerdere platformen werkt, aangezien dat een voordeel is van concurrent Java.
Nee, de mono developers werken niet samen met windows .NET developers. Wel bied Microsoft enige support en worden soms onduidelijk definities uitgelegd. Er zijn ook een aantal Microsoft developers welke de mono mailinglijsten volgen en antwoord geven op bepaalde vragen. Dat doen zij niet uit naam van Microsoft, maar Microsoft is daarvan wel op de hoogte.

Als je als developer aan mono wilt werken moet je namelijk verklaren nooit de broncode van de microsoft .NET runtime te hebben gezien (deze is te downloaden onder de Shared Source License a.k.a. kijken, 'maar niet aankomen'). Bepaalde algoritmes kunnen namelijk patent gevoelige zijn. De ECMA specificeerd alleen de api en werking niet de implementatie.

Overgens zijn niet alle namespaces bij ECMA vastgelegd (zoals de System.Windows.Forms namespace). Maar uiteraard

Overgens hoopt Microsoft juist dat developers overstappen van unix/linux naar windows.
Je hebt gelijk dat Microsoft wil concurreren met JaVa.
Het is Microsoft er echter alles aan gelegen om .NET (voorlopig) niet crossplatform te maken, omdat de keuze voor een OS dan niet meer zal vallen op Windws, maar op *nix.
Daar zijn ze dan toch echt te laat mee, een groot deel van de applicaties werkt al met mono en het wordt doorontwikkeld. Bovendien zit het er voorlopig toch niet in dat windows massaal afgeschreven zal worden door .NET
"Omdat de keuze voor een OS dan niet meer zal vallen op Windws, maar op *nix."

Ach, ja, "Linux op de desktop"... Ik gok dat Duke Nukem Forever eerder het daglicht ziet :o
.NET is wel degelijk cross-platform. Het werkt tenslotte op alle versies van Windows, en op alle CPU's die daardoor ondersteund worden (dus x86, x64 en IA64) en daarbij werkt het ook nog es op alle mobiele Windows devices met al hun verschillende CPU's.

Dat het niet op Linux, Mac, BSD en Solaris werkt, betekent niet dat het niet cross-platform is.
ik vind net zowiso slecht, het feit dat je al die .net libaries nodig hebt bevalt me niet :|
Het .net framework is toch echt snel geinstalleerd hoor. En ook voor vele andere zaken dien je frameworks of dergelijken te installeren, denk maar aan java apps of zelfs aan visual basic apps.
Met dat het framework helemaal niet in de weg zit. Als je geen .NET dingen gebruikt, is het framework een berg bestandjes die verder niets doen. Installeren kan dus geen kwaad, zelfs al gebruik je het niet.
Interessant.

Maar wat ik me afvraag: is mono ook een vervanging voor .net? Of moeten er special programma's voor mono geschreven worden?
Oftewel dan heb je .net 1, .net 2 én mono op één systeem lopen (bij windows dan, in dat geval niet echt een vooruitgang)
Een .NET assembly gewoon gemaakt in Visual Studio draait op mono, zonder te hercompileren ofzo. Het probleem is dat mono niet alle namespaces ondersteunt die .NET omvat. Maar met name console applicaties en webapplicaties zouden er wel op moeten werken.

Als het niet werkt, zou je een exception moeten krijgen die vertelt dat een reference of een class niet gevonden werd.
'k heb ooit een presentatie/verkooppraatje (MS nederland) meegemaakt en daar pronkte ze er wel mee. het grote bezwaar dat ".net" alleen maar onder windows draait vegen ze met Mono van tafel.
Wil dit zeggen dat Mono installeren op Windows betekend dat je ook .NET software kan runnen zonder dat die komt mekkeren? Wat enig :D
Hopelijk is die irritante bug in de mono compiler gefixed waar hij op zn plaat gaat wanneer er een where clause voor een generic type is gespecificeerd die een abstract class bevat (jaja!)

Op zich werkt het wel aardig, je kunt nl. gewoon je .NET 2.0 code met de MS compiler op windows compileren (mits je niet teveel windows only troep gebruikt natuurlijk) en dan de dll gebruiken op linux onder mono (het is tenslotte IL :)).

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True