Laden...

Abhängigkeiten in eigenen NuGet-Paketen - eine Abhängigkeit wird nicht eingebunden

Letzter Beitrag vor einem Jahr 2 Posts 695 Views
Thema geschlossen
Abhängigkeiten in eigenen NuGet-Paketen - eine Abhängigkeit wird nicht eingebunden

Alles unter .NET 7.0

Gegeben ist eine eigene Bibliothek isential.crypt.dll, die keine externen Abhängigkeiten enthält. Daraus wurde ein NuGet-Paket erstellt und in einer lokalen Paketquelle gespeichert.

Eine zweite eigene Bibliothek namens isential.MySqloverSsh.dll benutzt drei NuGet-Paketen:

  • isential.crypt
  • MySql.Data
  • SSH.NET

Daraus erstelle ich ein weiteres NuGet-Paket namens isential.MySqloverSsh und speichere es ebenfalls in derselben lokalen Paketquelle ab.

Die isential.MySqloverSsh.csproj sieht so aus:

<Project Sdk="Microsoft.NET.Sdk">
 <PropertyGroup>
   <TargetFramework>net7.0-windows8.0</TargetFramework>
   <ImplicitUsings>enable</ImplicitUsings>
   <Nullable>enable</Nullable>
   
   <!-- NuGet-Paket-Metadaten -->
   <PackageId>isential.MySqloverSsh</PackageId>
   <Authors>isential gmbh</Authors>
   <Description>Stellt eine MySql-Verbindung über einen SSH-Tunnel her und öffnet diese gleichzeitig.</Description>
   <PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
   <PackageProjectUrl>https://isential.de</PackageProjectUrl>
   <RepositoryUrl>https://isential.de</RepositoryUrl>
   <RepositoryType>Privat</RepositoryType>
   <PackageTags>isential MySqloverSsh</PackageTags>
   <AssemblyName>isential.MySqloverSsh</AssemblyName>
   <RootNamespace>isential.MySqloverSsh</RootNamespace>
   <Title>isential.MySqloverSsh</Title>
   <Version>1.0.0</Version>
   <Company>isential gmbh</Company>
   <Product>isential.MySqloverSsh</Product>
   <Copyright>(C) isential gmbh - alle Rechte vorbehalten.</Copyright>
 </PropertyGroup>
 
 <ItemGroup>
   <PackageReference Include="isential.crypt" Version="1.0.0" />
   <PackageReference Include="MySql.Data" Version="8.1.0" />
   <PackageReference Include="SSH.NET" Version="2020.0.2" />
 </ItemGroup>
</Project>

Das NuGet-Paket wird fehlerfrei Erstellt.

Ich binde dieses NuGet-Paket in das Ziel-Projekt ein. Dabei handelt es sich um ein WPF-Projekt unter .NET 7.0.

Der NuGet-Paketmanager zeigt mir auch alles richtig an:

Abhängigkeiten
    net7.0
        MySql.Data (>=8.1.0)
        SSH.NET (>= 2020.0.2)
        isential.crypt (>= 1.0.0)

Wie man sieht, wird auch isential.crypt als Abhängigkeit aufgeführt. Allerdings habe ich nach dem Einbinden in der Projektmappe unter "Pakete" folgendes Bild:

Pakete
    isential MySqloverSsh (1.0.0)
        Kompilietzeitassemblys
        Inhaltsdateien
        Dokumente
        MySql Data (8 1 0)
        SSH NET (2020.0.2)

Wie man sieht, fehlt isential.crypt (1.0.0).

Ich habe versuchshalber die Bibliothek isential.crypt.dlldirekt in isential.MySqloverSsh als DLL bzw. Projektverweis eingebunden und trotzdem steht diese im Zielprojekt nicht zur Verfügung. Klar kann ich isential.crypt.dll in das Zielprojekt manuell einbinden, aber ich möchte das lieber über isential.MySqloverSsh  machen, um mich nicht um die Abhängigkeiten kümmern zu müssen – das soll über das Paket isential.MySqloverSsh  automatisch gehen.

Warum passiert das und wie kann ich das lösen?

Danke un lG

René

René

Thema geschlossen