2010-01-19 3 views
6

Je n'ai pas encore eu besoin d'écrire des applications multiplateformes en C#. Cependant, chaque fois que je viens travailler avec des chemins, je me demande toujours ce que je devrais faire pour rendre ma vie plus facile au cas où je devrais compiler vers Mono. Je comprends que le GUI pourrait être un problème. Je voudrais essayer et employer de bonnes pratiques multi-plateformes dans mon codage Windows normal si possible.Quelles sont les bonnes règles de base pour l'écriture d'applications multiplateformes en C#?

Les problèmes ADO sont-ils à surveiller?

Quels sont les problèmes rencontrés et comment sont-ils résolus?

Répondre

4

Exécutez tout à travers MOMA après l'avoir écrit. Il identifiera pour vous toutes les constructions qui ne sont pas indépendantes de la plate-forme ou qui ne sont pas implémentées dans le runtime Mono.

De plus, compilez à la fois avec MSBuild et le compilateur mono .net. Utilisation de Path.Combine et Environment.NewLine sont un couple de ma tête.

Évitez les constructions Windows uniquement (WMI et autres) qui n'ont pas d'analogue Linux/Unix.

+0

Bon conseil. J'utilise les deux. Path.Combine seulement au cours des derniers mois si. Comment testez-vous les caractères de chemin incorrects d'une manière multiplateforme? – Nanook

+1

Path.GetInvlidhPathChars - http://msdn.microsoft.com/fr-fr/library/system.io.path.getinvalidpathchars.aspx – Oded

1

Si la création de votre application à l'aide Mono dans un environnement Windows utilisant Gtk# il devraient fonctionner sur toutes plates-formes, car il ne sera pas utiliser les bibliothèques .NET non disponibles sous Mono et n'utilisera aucune des bibliothèques Mono/Gtk # qui ne sont pas supportées par Windows.

Si vous êtes un utilisateur de Visual Studio, consultez le package Mono Tools for VS.

Questions connexes