PowerShell / PowerShell/PSResourceGet

Better Support for Nuget Dependencies for Binary Modules

Offen
#381 3 Kommentare 12 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Issue-Enhancement
Vorherrschende Sprache
C#
Sterne
576
Forks
114
Ø Merge
1 T. 2 Std.
Gemergte PRs (30 T.)
7

Beschreibung

Port of https://github.com/PowerShell/PowerShell/issues/15588

Summary of the new feature/enhancement

Powershell Package Authoring in C#/.Net is a very unsatisfying task for anything that relies on complex Nuget Packages. As an example: It's nearby impossible to get a package working on Powershell Gallery that relies on the Nuget Package of the SQL Server Driver (Microsoft.Data.SqlClient). I have to reference platform specified dll's somehow and it requires a lot of code just to get that dll working. The SQL Server Module

In addition, as a Powershell package can only have dependencies from PowershellGallery (de-facto), it's common to include the .Net DLLs in the Package, see SqlServer Module for example. If two packages include the same dll's we have a conflict. As an example, the SqlServer Module mentioned uses Newtonsoft.Json which should be fairly common to include.

Proposed technical implementation details

I'd propose to support Nuget Dependencies directly in the Manifest Files (psd1).

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die vorgeschlagene Unterstützung für NuGet-Abhängigkeiten in PowerShell-Modulmanifestdateien (psd1) zu lesen, und vergleiche anschließend die vom SqlServer Module verwendete Behandlung von Abhängigkeiten und DLLs. Lege fest, wie Paketautoren NuGet-Abhängigkeiten deklarieren würden und wie miteinander in Konflikt stehende .NET-DLLs aufgelöst werden sollten; für den Abschluss sind ein abgestimmtes Design sowie die entsprechende Implementierung und Tests erforderlich.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, powershell
Bereich
cli, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.