Votre meilleure source d'information et nouvelles environ BIOS, Vista et BIOS sur l'Internet

ARTICLES de Vista PRINCIPAL 50 Vista VIDEOS Vista MOU AIDE de Vista

Accomplissez la portabilité de .NET avec du vin et mono ?


Mono est la version d'ouvrir-source du cadre du .NET de Microsoft. Il met en application la plupart des dispositifs principaux de cadre, mais malheureusement, des chutes plates sur son joli petit visage en essayant de montrer l'interface utilisateur - est qui au sujet de ce que les apps d'ordinateur de bureau sont tout.

Vin sur l'autre-main, est un port de Linux (les parties de) de la bibliothèque du Win32 de Microsoft - les dépendances de noyau des bibliothèques de développement de Windows, et d'une manière primordiale, les éléments de l'interface win32. Avec du vin, vous pouvez courir beaucoup d'executables traditionnels de C++ win32 sur Linux, avec certaines limitations.

Le plus grand bloc de trébuchement mono est les programmes de GUI et de .NET qui emploient P/Invoke pour appeler les dlls win32 non-contrôlés indigènes - mono est un environnement pur de .NET, et ne peut pas les manipuler. Mais de la description ci-dessus, c'est exactement à quel VIN excelez… Ainsi ne pouvons-nous pas employer le VIN + mono pour rendre juste au sujet d'un programme de .NET exécuté sur Linux frais hors du compilateur de .NET ?

Malheureusement, la réponse est non. Soutenez quand le projet mono était premier commencer dehors, l'équipe mono de développement considérée en utilisant le VIN pour mettre en application le namespace de System.Windows.Forms du cadre de .NET (qui est pratiquement 100% C++ qu'indigène unmanaged le code win32 en emballages de .NET). Mais ils ont fait le bon choix en décidant à pas prenez la manière facile et allez cet itinéraire, laissant l'intégrité du projet mono intacte et se concentrant sur de véritables bibliothèques d'interface utilisateur de croix-plateforme à la place (le GTK# est maintenant la bibliothèque d'UI du choix pour des applications de la croix-plateforme .NET).

Mais jusqu'à GTK# la bibliothèque devient un choix plus viable ou est-ce que « port » mono de SWF plus complet (voir ci-dessous), n'importe quoi de pareil devient ne devrait pas être rendu possible ? Il certainement serait grand de dactylographier juste

$ de vin win32_NET_app.exe --mono=/usr/lib/mono/

ou peut-être (selon quel APP fait l'intégration) :

$ win32_NET_app.exe mono --wine=/usr/lib/wine/

Et ayez le transfert de vin l'application de .NET Win32 à mono, et arrêtez les appels de P/Invoke à Win32 DLLs, les remplaçant avec ses propres bibliothèques Win32 mises en communication en marche. Ce serait grand, pas il ?

Malheureusement, nous ne sommes pas les personnes responsables au vin ou mono et une telle exécution prendrait un certains du temps et effort d'obtenir allant - bien qu'il est notre avis que si une telle chose lui est faite nécessité soyez un vin qui est modifié et non mono - afin de préserver la véritable nature de croix-plateforme du projet mono et la garder du marécage légal qui est la bibliothèque Win32.

Au moment où, l'équipe mono travaille à un « port » des sortes pour System.Windows.Forms qui laissera presque tous les programmes écrits et conçu for Windows run on Linux without a problem. Instead of porting the actual SWF controls to Mono, the Mono team is working on a “compatibility layer” of sorts that will render the controls on-the-fly, making it look more “natural” no matter what platform it’s running on.

In the mean time, we highly recommend developers consider using the (technically-inferior, compatibility-superior) GTK# UI library instead of SWF for your .NET projects (on and off of Windows); and end-users can install the latest dev copy of Mono to gain access to the SWF “ported” library to make those Windows apps work!

Popularity: 2%


Written by Computer Guru. Read more great feeds at is source WEBSITE
no comments.
Read more articles on Coding and Alternatives and Mono and WINE and .NET Framework and c# and Windows and Programming and Linux and software.

Related articles

No comments

There are still no comments on this article.

Leave your comment...

If you want to leave your comment on this article, simply fill out the next form:




You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> .