2015-01-22 14 views

Antwort

2

Warum nicht Jimmy fragen? AutoMapper using Portable Class Libraries.

Aus dem Blick auf das NuGet-Paket würde es erscheinen Automapper.dll ist der Kern (es ist für alle Plattform-Bibliotheken gemeinsam), während Automapper.Net4.dll ist die Plattform spezifisch - beide sind notwendig.

+0

Es ist nicht wahr, beide sind NICHT notwendig. In der Tat kann die Automapper.Net4.dll Sie viele Probleme wie uns verursachen! –

6

Alles, was Sie tun müssen, ist "Install-Package AutoMapper" und Sie sind fertig. Da AutoMapper alle gängigen .NET-Plattformen unterstützt, befinden sich die für spezifischen Elemente Ihrer-Plattform in einer plattformspezifischen Assembly. Dies ist ein sehr gängiger Ansatz zum Erstellen plattformübergreifender Bibliotheken.

Kurz gesagt, es sollte Ihnen egal sein, denn NuGet kümmert sich um alles für Sie. Es ist für Sie als Benutzer völlig transparent. Sie müssen nichts extra tun, um die plattformspezifischen Funktionen zu nutzen.

+0

Diese Antwort vom Autor der Bibliothek sollte [** als Antwort angenommen werden **] (https://stackoverflow.com/help/accepted-answer). –

+0

Wie sieht es mit der Bereitstellung aus? Welche sollten eingesetzt werden, da Sie nicht wissen, auf welcher Plattform sie läuft? –

+0

Was meinst du? Wer ist "du" hier? –

0

Dies ist eigentlich die richtige Antwort:

effektiv die .Net4.dll Montage in die eine AutoMapper.dll kombiniert wird. Sie sollten diese Datei also löschen. (Jimmy Bogard)

Wir haben den ganzen Nachmittag mit einem Team verbrachte das Debuggen, was falsch ist (Ich habe einen Kunden Bug-Report) und konnte nicht reproduzieren. Dann fanden wir schließlich heraus, dass das Problem mit Automapper.Net4.dll ist. Nach dem Löschen ging der Fehler weg (bevor wir uns bereits im Code befanden, dass das Problem mit dem Auto-Mapper ist).

+0

Wenn ich in VS2017 "Nur meinen Code aktivieren" deaktiviere, erhalte ich einen weichen Fehler, dass es zuerst versucht, die Net4.dll zu laden. Warum das? Wenn das, was du sagst, richtig ist, müsste es das nicht tun? –

+0

Welche Version hast du? Dieser VS-Fehler kann durch eine andere Sache verursacht werden, die Sie versuchen zu erreichen - zum Beispiel möchte IDE es laden? –