2008-11-06 11 views
2

Nous construisons une application C# .NET qui fonctionnera sur des ordinateurs assis dans des camions. Nous devons parler aux ports Digital IO sur les ordinateurs de camion qui n'existent pas sur nos machines de développement, ainsi j'ai besoin d'écrire une bibliothèque fictive qui sera incluse dans nos constructions de dev, mais sera remplacée par notre bibliothèque actuelle d'IO de Digital quand nous faire des libérations. Et je veux que cette substitution de bibliothèque soit automatisée par le processus de construction.Quelle est la meilleure façon de gérer les dépendances conditionnelles en C#

Venant d'un arrière-plan Java, je peux le faire facilement en utilisant des profils de construction. Y a-t-il un moyen similaire de le faire en utilisant MSbuild ?? Si non, quelle est la meilleure façon de gérer cela dans C# microsoft land.

Répondre

1

J'ai récemment développé quelque chose de similaire où j'ai supposé une interface pour communiquer avec certains ordinateurs embarqués qui utilisaient des servos. Pour écrire le logiciel qui contrôlait ces ordinateurs, j'ai used Moq to mock les interfaces que j'ai écrites, puis plus tard plugged in real classes via StructureMap qui a implémenté ces interfaces. J'ai également utilisé Moq pour écrire les tests unitaires du logiciel contrôlant la machine en utilisant les mêmes interfaces.

+0

Grâce à l'utilisation de StructureMap vous n'aurez pas à vous vous inquiétez de remplacer une bibliothèque pendant la construction - à la place, une des tâches MSBuild remplace la partie StructureMap de votre App.config par la configuration réelle. Cela fonctionnera bien pour ce que vous essayez de faire, je fais exactement la même chose. – cfeduke

0

Je pencherais pour la IoC + approche Mock, mais si u voudrait le faire avec msbuild, jetez un oeil here pour une grande ressource sur les conditions dans msbuild

Questions connexes