NuGet-Pakete ohne Laufzeitressourcen sind in deps.json

NuGet-Pakete oder andere Bibliotheken, die keine Laufzeitobjekte mitwirken, werden jetzt von der deps.json Datei ausgeschlossen, wenn sie entfernt werden, keine Abhängigkeitsauflösungsprobleme verursachen würden.

Eingeführt in Version

.NET 10

Vorheriges Verhalten

Zuvor wurden alle referenzierten NuGet-Pakete und Projekte in der deps.json Datei als Bibliothekseinträge eingeschlossen, auch wenn keine Objekte aus ihnen verwendet wurden.

Neues Verhalten

NuGet-Pakete oder andere Bibliotheken können von der deps.json Datei ausgeschlossen werden, wenn:

  • Sie tragen keine Laufzeitressourcen bei, und
  • Durch das Entfernen der Bibliothek aus dem deps.json würden keine Bibliotheken verursacht, die Laufzeitobjekte mitwirken, keinen Abhängigkeitspfad mehr zu ihnen haben.

Art der einschneidenden Änderung

Diese Änderung kann sich auf die Quellkompatibilität auswirken.

Grund für Änderung

Die deps.json Datei listet Laufzeitabhängigkeiten auf und wird vom Ladeprogramm zum Laden dieser Abhängigkeiten verwendet. Einige andere Tools verarbeiten auch die deps.json Datei. Das Einschließen von Bibliotheken, die nicht tatsächlich verwendet werden, ist weniger genau und kann zu falsch positiven Ergebnissen für Sicherheitsscanner führen, die die deps.json Datei verwenden.

Um das neue Verhalten zu deaktivieren, legen Sie die TrimDepsJsonLibrariesWithoutAssets MSBuild-Eigenschaft auf false:

<PropertyGroup>
  <TrimDepsJsonLibrariesWithoutAssets>false</TrimDepsJsonLibrariesWithoutAssets>
</PropertyGroup>

Betroffene APIs

Keiner.

Siehe auch