Question

a System.Data Mono été élargie pour inclure des fonctionnalités supplémentaires? Je tente d'utiliser le parseur SQL écrit pour Mono Mono.Data.SqlExpressions mais quand toutes les classes dans l'espace de noms SqlExpressions ont été inclus le projet ne parvient toujours pas à compiler parce que les classes System.Data ne correspondent pas. < br> Exemple, System.Data.DataColumn ne définit pas l'événement PropertyChanged. Ai-je besoin d'utiliser les bibliothèques Mono System.Data à la place? Lorsque la classe Mono DataColumn est inclus dans le projet cette erreur de compilation ne se produit pas (il fait référence à des classes telles que DataCategory, qui ne se trouvent pas dans le cadre .Net).

Sinon, toute aide sur le port du Sql Parser Mono au framework .NET de Microsoft serait apprécié. J'ai essayé de télécharger la source et ajoutez les bibliothèques manquantes au projet, mais cette approche semble erronée. Le nombre de dépendances manquantes semble augmenter au lieu de résoudre le problème.

Était-ce utile?

La solution

Mono a essayé d'être binaire et API compatible avec la mise en œuvre de MS. Cela signifie qu'à l'exception de quelques méthodes de soutien internes et les classes, toutes les API exposées par Mono doivent correspondre à 101 avec MS .Net de. Ceci permet d'éviter des complications comme les gens en supposant une méthode existe parce qu'il compile en Mono et il ne fonctionne pas sur MS.Net après tout.

Lorsque le nouveau code et les fonctionnalités sont mises en œuvre par Mono cotisants il est généralement incorporé dans un ensemble séparé et projet. Mono.Data comme son nom l'indique est telle une « extension » il est donc logique que vous devez inclure toutes les assemblées dépendantes de pouvoir construire. Si Mono.Data.dll et ses DEPS courront sur MS.Net ou non son affaire ou le contrôle de la documentation et de le tester.

Quant à vous deuxième question, je ne peux pas vous dire les détails, mais à moins que le code a intructions spécifiques à exécuter sur Windows, il sera très probablement besoin beaucoup de travail au port. Comme avec tout API beaucoup de code ne soit pas exposé aux interfaces publiques et les caractéristiques internes de la mise en œuvre doivent être contournées lors du portage du code. Je vous suggère de prendre un certain temps d'analyser la façon dont le code fonctionne et ensuite essayer de le faire fonctionner sur MS.Net en supprimant DEPS autant sur le code Mono comme il est logique. En fin de compte, si le code est suffisant, vous devriez envisager patcher la source Mono compatible avec intructions de compilation et #if! MONO pragma pour sauver la peine aux futurs utilisateurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top