Verteilen von NuGet-Paketen mit .NET Core-Plugin-DLLs
Die Entwicklung einer Plugin-Architektur mit .NET Core erfordert die Verteilung der Plugin-DLL und ihrer Abhängigkeiten für eine nahtlose Benutzerinstallation. Standard-.NET Core-Builds enthalten jedoch nicht automatisch NuGet-Abhängigkeiten.
Lösung: Ändern der .csproj-Datei
Um diese Abhängigkeiten einzubeziehen, passen Sie Ihre Projektdatei (.csproj) wie folgt an:
<PropertyGroup>
in Ihrer .csproj-Datei.<PropertyGroup>
fügen Sie diese Zeile hinzu:<code class="language-xml"><CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies></code>
Dadurch wird sichergestellt, dass NuGet-Pakete in das Build-Ausgabeverzeichnis kopiert werden.
Wichtige Überlegung: Build-Ausgabe vs. Bereitstellung
Das direkte Kopieren von NuGet-Paketen in die Build-Ausgabe ist zwar praktisch für lokale Tests, für die Verteilung jedoch nicht ideal. Verwenden Sie zum Erstellen bereitstellbarer Artefakte immer den Befehl dotnet publish
.
Eine robustere Lösung: Verwendung der DependencyContext-API
Eine flexiblere und portablere Alternative vermeidet die direkte Einbettung von NuGet-Paketen. Nutzen Sie die API DependencyContext
, um DLL-Speicherorte zur Laufzeit dynamisch aus dem Abhängigkeitsdiagramm der Anwendung aufzulösen. Dies bietet einen saubereren und wartbareren Ansatz für den Umgang mit Abhängigkeiten.
Das obige ist der detaillierte Inhalt vonWie füge ich NuGet-Abhängigkeiten in meine .NET Core-Plugin-DLLs ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!