Verweise aus der Klassenbibliothek werden nicht in den aktuellen Projektordner kopiert

Ich habe eine Klassenbibliothek, die meine Logikebene darstellt. Zu dieser Bibliothek habe ich ein Nuget-Paket für Google.Apis.Analytics.v3 hinzugefügt - es hat das Paket und alle Abhängigkeiten installiert.

Ich habe eine Konsolenanwendung, die diese Logikklassenbibliothek verwendet (reguläre Referenz). alles ist gut geschrieben und kompiliert.

Das Problem ist, dass es zur Laufzeit eine Ausnahme gab, dass Google.Apis.dll nicht gefunden wurde. Diese DLL ist eine Abhängigkeit, die mit dem Nuget heruntergeladen wurde.

Beim Überprüfen der BIN-Ordner habe ich festgestellt, dass diese DLL im Bin-Ordner der Klassenbibliothek vorhanden war, im BIN-Ordner der Konsolenanwendung jedoch nicht (während dies bei anderen verwandten DLLs der Fall war). Das bedeutet also, dass nicht alle Referenzen während der Kompilierung kopiert wurden.

Ich habe online gesucht und alle möglichen Problemumgehungen gefunden, die nicht wirklich funktionierten (z. B. das manuelle Bearbeiten der Projektdatei und das Entfernen einer echten XML-Zeile in dieser DLL-Definition).

Am Ende habe ich meiner Konsolenanwendung dieselbe Nuget-Bibliothek hinzugefügt - sie funktioniert, fühlt sich aber etwas schmutzig an und ist nicht so, wie sie sein sollte. Ich denke, die Konsolen-App ist der Client, der seine Dienste von dieser Logikklassenbibliothek erhalten soll, die wissen soll, was es ist, ohne dass sich der "Client" darum kümmert.

Außerdem ist diese Konsolen-App nicht die einzige, die diesen Service nutzen wird. Ich plane auch eine Web-App, die diese Funktionalität nutzt. Daher muss ich auch dieser Web-App das gleiche Nuget hinzufügen ein bisschen chaotisch ...

Bin es nur ich Ist das der richtige Weg? Ich habe darüber nachgedacht, ein WCF-Projekt zu schreiben, um diese Funktionalität zu bewältigen - aber das scheint ein kleiner Aufwand für die reine Funktionalität zu sein, und verlangsamt wahrscheinlich meinen Workflow, um meiner Meinung nach die Dinge "sauberer" zu halten.

Überdenke ich es nur?

Danken

Antworten auf die Frage(3)

Ihre Antwort auf die Frage