Laden...

[erledigt] Verweise zu NuGet Paketen passen nicht

Erstellt von Christoph1972 vor 4 Jahren Letzter Beitrag vor 4 Jahren 2.155 Views
Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 4 Jahren
[erledigt] Verweise zu NuGet Paketen passen nicht

[EDIT]
Ich habe den Titel angepasst

Hallo zusammen,

wenn ich meine Git Repositories clone, fehlen die Pfade zu den referenzierten Bibliotheken, wie z.B. System, EntityFramework usw. Selbst wenn ich Referenzen entferne und manuell neu setze fehlt der Pfad zu der DLL. Auch nach einem Restore der NuGet Pakete fehlen die Pfade. Lediglich die Referenzen innerhalb der Solution sind vorhanden.

Kann mir jemand sagen was hier schiefläuft?

Gruß
Christoph

16.806 Beiträge seit 2008
vor 4 Jahren

Framework Dependencies werden niemals via Pfad angegeben.
NuGet Dependendies erfolgen ausschließlich die die Paketangabe.

Eigene Referenzen müssen Teil des Projekts seins; sonst sieht sie git schließlich gar nicht (darauf achten, dass sie nicht via gitignore erfasst werden).
Besser-> auch hier NuGet verwenden.

Daher die Rückfrage: warum referenzierst Du via Pfadangabe NuGet Pakete?
Hört sich danach an, dass Du das grundlegend nicht so machst, wie man es tun sollte 😉

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 4 Jahren

Hallo Abt,

vielen Dank schon mal!

Ich habe nicht via Pfadangabe referenziert, mir war nur aufgefallen das die Pfade jetzt leer sind.

NuGet Pakete habe ich ganz simple installiert und damit gearbeitet. Referenzen auf .Net Komponenten habe ich per „Add Reference“ hinzugefügt.

Ich habe gerade noch mal ein Clone von einem Projekt erstellt und da fehlen alle Referenzen, außer die, die zum Projekt gehören.

Die Referenzen neu setzen funktioniert nicht, auch so das Restore der NuGet Pakete.

Zum Test habe ich Referenzen hinzugefügt, die ich nicht brauche, auch diese werden nicht übernommen. Alle Referenzen sind mit einem gelben Dreieck gekennzeichnet.

Seltsam…..

Gruß
Christoph

16.806 Beiträge seit 2008
vor 4 Jahren

.Net Komponenten habe ich per „Add Reference“ hinzugefügt.

Was sind .NET Komponenten? 🤔

Ich habe gerade noch mal ein Clone von einem Projekt erstellt und da fehlen alle Referenzen, außer die, die zum Projekt gehören.
Die Referenzen neu setzen funktioniert nicht, auch so das Restore der NuGet Pakete.

Ich hab nicht den Hauch einer Ahnung, was Du ausdrücken willst.

Weder Pakete noch Framework Referenzen sollten in Form von Dateien in der Quellcode-Verwaltung landen (SCCM Basics).
Bei einem Pull muss immer ein Restore erfolgen (egal ob in .NET (NuGet), Angular (NPM), Java (Maven) und all die anderen Paketmanager).

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 4 Jahren

Was sind .NET Komponenten? 👶

Damit meine ich z.B. Sytem, Sytem.XML usw.

Ich hab nicht den Hauch einer Ahnung, was Du ausdrücken willst.

Das ich versucht habe die Referenzen manuell neu zu setzen, diese aber auch nicht übernommen werden.

Bei einem Pull muss immer ein Restore erfolgen.

Das habe ich ja gemacht, funktioniert aber leider nicht. Die Referenzen auf die Pakete sind gelb gekennzeichnet und bleiben es auch, mit der Fehlermeldung, dass die referenzierte Komponente nicht gefunden werden kann.

Gruß
Christoph

16.806 Beiträge seit 2008
vor 4 Jahren

Damit meine ich z.B. Sytem, Sytem.XML usw.

Das sind Framework Assemblies. Es gibt keine ".NET Komponenten" in dieser Hinsicht.

Das ich versucht habe die Referenzen manuell neu zu setzen, diese aber auch nicht übernommen werden.

Was heisst "übernommen"? Es ist leider schwer Dir zu folgen.

Entweder die Referenz ist nach dem "Add" in der Liste von Visual Studio - oder nicht.
Framework Assemblies werden überhaupt nicht mit einem Pfad referenziert, sondern technisch mit einem Include.
<Reference Include="System.Xml.Linq" />
Dahingehend ist das die Registrierung im GAC - völlig egal wo dieser auf System B oder C .. liegt.

Anders das Referenzieren auf Dateiebene.
Referenzen via "Browse" müssen auf jedem Rechner exakt gleich gelegen sein - und teil des Git Repositories sein; ansonsten fehlen diese natürlich bei einem Pull - und das quittiert VS mit gelben Dreiecken.
Das spart man sich aber mit NuGet Paketen.

Hat aber alles prinzipiell nichts mit Git zutun; sondern mit den Basics wie man Abhängigkeiten organisiert.

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 4 Jahren

Wie auch immer, ich habe definitiv ein Problem mit einigen meiner Projekte.

Ich hatte noch die Idee, alle NuGet Pakete zu deinstallieren und es mit einer Neuinstallation zu versuchen, dabei habe ich festgestellt, dass sich die Pakete nicht deinstallieren lassen.

Wenn ich ein kleines Testprojekt mit NuGet Paketen anlege und pushe, dann clone, funktioniert alles wie erwartet.

Gruß
Christoph

16.806 Beiträge seit 2008
vor 4 Jahren

Dann scheinste Dein Projekt/Solution evtl. einfach durch komische Dinge zerschossen zu haben.

W
113 Beiträge seit 2006
vor 4 Jahren

Hallo,

Pfadangaben von Nuget Paketen werden in der *.csproj Datei relativ gespeichert. Und zwar relativ im Bezug auf die Solution Datei.

Ich hatte da schon mal Probleme im Zusammenhang mit git submodulen.

Eventuell liegts an was ähnlichem...

sg,
xan

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 4 Jahren

Hallo zusammen,

einige Pfade zu den NuGet Paketen in den *.csproj Files haben nicht gepasst haben. Die Pfade der „Unter“-Projekte haben auf das Startprojekt gezeigt.

Folgende Verzeichnisstruktur kommt bei mir zum Einsatz:

Projektmappe
UI
--ProjektUI1 (Startprojekt)
--ProjektUI2
LL
--ProjektLL1
--ProjektLL2
DAL
--ProjektDAL1
--ProjektDAL2
Shared
--Shared1
--Shared2

Sämtliche Projekte, bei denen ich mit dieser Struktur arbeite, sind davon betroffen. Interessant ist, dass die Originalversion im Working Directory funktioniert, auch das Updaten der Pakete geht. Bei einem Testprojekt konnte ich das Problem nicht nachstellen, ich werde das eine Weile beobachten. Zum Glück kann man das Problem gut beheben!

Vielen Dank für die Unterstützung!

Gruß
Christoph

1.040 Beiträge seit 2007
vor 4 Jahren

Kannst du die kaputte Solution zur Verfügung stellen?
Gerne auch abgespeckt, sodass nur 3 Projekte oder so in der Solution sind. =)

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 4 Jahren

Kannst du die kaputte Solution zur Verfügung stellen?

Das ist leider nicht möglich.

Gruß
Christoph