est-il possible d'utiliser automapper dans une application de console? P>
Son Mise en route Page suggère que la classe Bootstrapper soit appelée à partir de l'application Start Up , mais il n'y a pas de détails supplémentaires sur une classe à ajouter et à appeler de Comment puis-je utiliser ici dans une simple application de console? P> principal () code>. p>
3 Réponses :
Vous pouvez initialiser automapper dans le démarrage de la console, il n'y a pas de limitations; L'application_start est l'endroit de démarrage pour un programme Web dans .NET / IIS, c'est-à-dire le code appelé une seule fois. Toute configuration que vous devez appeler au début d'un projet Web passe dans cette méthode.
Modifier pour commentaire strong>: Si vous ne voulez pas créer vos mappages à la volée, mais préférerais avoir Un lieu d'initialisation de tous vos mappages, il suffit de créer une fonction appelée échantillon de code fort> p> initializeautomapper de code> et de créer le
mapper.configure
MAIN () code>, appelez simplement la fonction. Il y a beaucoup de façons de gérer la configuration, mais c'est le moyen plus simple de le gérer. p>
Je ne suis pas sûr de la partie de la réponse que vous trouvez déroutant. Application_Start code> est plus ou moins comparable à la méthode code> code> de votre application de console. Vous pouvez l'initialiser là-bas si toutes vos méthodes sont statiques ou dans le constructeur de votre application si vous envisagez d'utiliser des méthodes d'instance.
Je reçois automapper n'existe pas dans les erreurs de contexte actuelles CODE> où j'ai mon
Createmap code> et
appelle code> malgré une référence à la Fadiatrice. dll. Si cette cartographie est toute l'initialisation nécessaire, je vais expliquer pourquoi la référence ne fonctionne pas.
@Stuperuser: essayez de poster le code de l'initialisation; Le code que j'ai posté des œuvres (à condition qu'il y ait une méthode Typea à typef et une méthode Dostuff)
@samy qui donne des erreurs similaires, la référence joue des budgers stupides. C'est dans le répertoire de références de l'explorateur de solution, mais l'espace de noms automapper disparaît du navigateur d'objets même après le redémarrage des projets / re-ajouts.
@samy, il semble que Systeme System.Web ait besoin.
@ R0Manarmy La confusion est venue de la question qui ne contient aucun détail sur quoi d'autre devait être configuré, car ma cartographie est effectuée à la volée, je n'ai pas besoin de configurer quoi que ce soit. Mes problèmes ont été causés par une dépendance apparente sur System.Web, qui ajoutée par une référence corrige le problème.
Oui, mais il semble avoir une dépendance sur System.Web, qui doit également être incluse. P>
(voir Référence de disparition mystérieuse pour plus de détails) P>
C'est vraiment étrange, vous ne devriez pas avoir ces problèmes depuis que System.Web vit dans le GAC et se trouve par le ... Quoi qu'il en soit, bonne prise :) Pour le disque, j'ai utilisé Nuget pour tester rapidement la solution que j'ai postée, mais je Vous ne pouvez pas trouver une référence difficile à System.Web dans le projet de console.
@samy: Il est probablement lié à Ceci . Il n'y a pas de dépendance directe, mais une dépendance d'une dépendance.
@Stuperuser utilisiez-vous le cadre de profil du client? Si oui, R0Manarmy a peut-être trouvé la raison de son lien
@samy @ r0manarmy C'était ce qui était dans un nouveau projet de console par défaut, ajout de System.Web il a mis à jour le cadre cible du projet à .NET Framework 4 Code>. @ R0Manarmy fissua.
Je sais que c'est une ancienne question, mais si vous avez trouvé cela, je souhaite ajouter une mise à jour: automaxer n'autorise plus l'initialisation statique.
Vous pouvez vérifier plus ici p>
ci-dessous, je fournis un exemple complet de la façon de l'utiliser sur une application de console. J'espère que cela pourrait être utile pour quelqu'un à l'avenir. P> N'oubliez pas d'inclure à l'aide de MODAPPER; CODE> P> P>