webentwicklung-frage-antwort-db.com.de

In Visual Studio 2017 fehlt der Verweis hinzufügen, wenn er mit Unity 3D verwendet wird - Need Npgsql.dll

Ich habe Unity 2017 mit Visual Studio 2017 installiert. Ich versuche, dem Visual Studio-Projekt eine externe DLL über den Lösungs-Explorer hinzuzufügen. Wenn ich mit der rechten Maustaste auf Verweise klicke, fehlt die Option "Verweis hinzufügen" vollständig!

Ich versuche, NpgSQL zu verwenden. Daher müssen Sie npgsql.dll hinzufügen.

Kann jemand Licht geben?

8
JamesHoux

Der Add Reference... befindet sich in diesem Fall an einer anderen Stelle.


Aktivitäten in Unity:

Erstellen Sie einen Ordner mit dem Namen Plugins als untergeordnetes Verzeichnis für Ihren Assets -Ordner. (Assets\Plugins ...)

Kopieren Sie als Nächstes Ihre DLL in diesen Plugins-Ordner. Sie können dies mit Windows Explorer tun oder es einfach in den Ordner im Unity-Editor ziehen, wie in der folgenden Abbildung gezeigt:

 enter image description here


In Visual Studio zu tun:

Klicken Sie in Ihrem Projekt auf Analyzers (siehe unten), klicken Sie dann in Ihrem Menü auf Project und navigieren Sie zu Referenz hinzufügen ...:

 enter image description here

Nun Durchsuchen zu Ihrer DLL:

 enter image description here

Und ... da ist es:

 enter image description here

15
Brien Foss

Akzeptierte Briens Antwort (Danke, Brien!).

Ich füge meine eigene passende Antwort zu Npgsql.dll hinzu, da dies anscheinend ein allgemeines Problem im gesamten Internet mit unzureichender Dokumentation ist. Wenn Sie von Google über Npgsql.dll hierher gekommen sind, lesen Sie weiter:

Unity (aus einem unbekannten Grund) wird mit seiner eigenen npgsql.dll im Anwendungsordner mono/2_0 mitgeliefert. Einige Leute haben Konflikte hierüber gemeldet.

Viele der npgsql.dll-Versionen funktionieren derzeit nicht mit Unity. Wenn Sie versuchen, sie in Unitys Assets aufzunehmen, wird Unity einen Typfehler auslösen. Das hat mich veranlasst zu denken, dass ich die Datei als Referenz in C # hinzufügen musste. Deshalb bin ich hierher gekommen und habe die Frage nach Add Reference gestellt. Aber mit Unity war das einfach falsch von meiner Seite.

Soweit ich das beurteilen kann, besteht Unity darauf, alle Projekteigenschaften und Referenzen für Sie zu verwalten. Sowohl verwaltete als auch nicht verwaltete DLLs müssen über Unity-Assets hinzugefügt werden. Sogar Visual Studio-Projekteigenschaften können nicht in Visual Studio for Unity geändert werden. Wenn Sie versuchen, die .csproj-Dateien zu bearbeiten (z. B. um Compiler-Warnungen zu deaktivieren), überschreibt Unity die .csproj-Dateien beim nächsten Laden Ihres Unity-Projekts vollständig.

Jeder, der Probleme hat, Npgsql.dll für die Arbeit in Unity zu verwenden, muss den richtigen Unity-Workflow verwenden, in dem Sie npgsql.dll in Unity-Assets ablegen. Wenn Sie Fehler erhalten, handelt es sich um einen Versionskonflikt für die npgsql.dll. Probieren Sie zunächst andere Versionen der DLL aus.

Dieser Gentleman hat einen Unity-spezifischen Build bereitgestellt, um einen Namespace-Konflikt zu lösen (einfach die DLL aus dem Bin-Ordner des Github-Links ziehen): Unity NPGSQL.DLL

Derzeit können Sie in Unity 2017 als experimentelle Einstellung zu .NET 4.6 wechseln. Einige Leute haben mit dieser Einstellung experimentiert, um neuere Versionen von npgsql.dll zu erhalten, damit sie ordnungsgemäß funktionieren, aber sie berichten von zeitweiligen Ergebnissen. Im Moment habe ich mein Problem mit Unitynpgsql.dll gelöst. Es ist ein älterer Build, also hoffe ich, dass ich nicht auf Funktionen stoßen werde, die ich brauche, die er nicht unterstützt. Wenn ja, werde ich wahrscheinlich nur um sie herum arbeiten.

Für alle anderen, die versuchen, npgsql.dll in Unity zum Laufen zu bringen: Verzweifeln Sie nicht, sondern lösen Sie die Versionskonflikte. Auch hier ist ein anderer relevanter neuer Thread darüber: Barebones Master Server Npgsql.dll Ausgabe - Januar 2018

2
JamesHoux