Verteilen von .NET Core-Plugins mit NuGet-Abhängigkeiten
Das Erstellen von Plugin-Systemen mit .NET Core erfordert häufig die Verteilung von Plugin-DLLs und den zugehörigen NuGet-Abhängigkeiten. Der standardmäßige .NET Core-Erstellungsprozess schließt diese Abhängigkeiten jedoch nicht automatisch in das Ausgabeverzeichnis ein. Dies stellt eine Vertriebsherausforderung dar.
Lösung: Einschließen von NuGet-Abhängigkeiten in die Build-Ausgabe
Um dieses Problem zu beheben, fügen Sie die folgende Zeile zu Ihrer .csproj-Datei hinzu:
<code class="language-xml"><copylocallockfileassemblies>true</copylocallockfileassemblies></code>
Dadurch wird sichergestellt, dass Ihre NuGet-Pakete in den Build-Ausgabeordner kopiert werden. Es ist wichtig zu bedenken, dass diese Build-Ausgabe nicht für die direkte Verteilung geeignet ist.
Wichtige Überlegungen:
Obwohl es für lokale Tests nützlich ist, ist die direkte Verteilung der Build-Ausgabe keine bewährte Vorgehensweise. Die bevorzugte Methode besteht darin, mit dotnet publish
ein verteilbares Paket zu erstellen, das alle erforderlichen Abhängigkeiten enthält.
Eine robustere Lösung: Verwendung der DependencyContext-API
Eine robustere und tragbarere Alternative ist die Nutzung der DependencyContext
API. Mit dieser API können Sie die DLLs und ihre Speicherorte im Abhängigkeitsdiagramm Ihrer Anwendung programmgesteuert auflösen. Dieser Ansatz vermeidet die manuelle Verzeichnisaufzählung und bietet eine größere Portabilität und Zuverlässigkeit.
Das obige ist der detaillierte Inhalt vonWie füge ich NuGet-Abhängigkeiten in die Build-Ausgabe des .NET Core-Plugins ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!