Laden...

Migration zu Visual Studio 2019 / Metadata Problem

Erstellt von Guddo vor 3 Jahren Letzter Beitrag vor 3 Jahren 897 Views
G
Guddo Themenstarter:in
1 Beiträge seit 2020
vor 3 Jahren
Migration zu Visual Studio 2019 / Metadata Problem

Hallo zusammen!

Ich habe mich schon wund gesucht und auf Stack Overflow gefragt, dort aber keine Antwort bekommen, daher wende ich mich nun hierher.

Ich bin dabei, eine Solution mit einer Windows Application und mehreren Class Libraries von VS 2015 nach VS 2019 zu migrieren.
Der Großteil der Libs kompiliert auch problemlos, vor Allem die Base Libs wie Datamodels bspw.
Einige der Projekte, vor allem die strukturell "höher" gelegenen, die als AddIns in die App geladen werden, machen jedoch erhebliche Probleme.
Und zwar bekomme ich beim Build den Fehler "Metadata File xyz could not be found". Ich verstehe, dass es für dieses Problem mehrere Ansätze gibt, jedoch treffen diese bei mir alle nicht zu.

Das Schwerwiegende daran ist nämlich, dass die Projekte ihre eigene dll im bin Verzeichnis eines anderen Projektes suchen. Bspw. habe ich Projekt A, B und C. Diese referenzieren sich untereinander auf keinste Art und Weise. Projekt A und B kompilieren problemlos, Projekt C sucht allerdings im Kompilierungsvorgang nach der dll von Projekt C, und diese sucht sie im bin/debug Verzeichnis von Projekt B.

In der .csproj sowie in den Referenzen ist nichts dergleichen angegeben (warum auch?), wenn ich mir den Output anschaue, steht es allerdings genau so darin. Das Problem taucht mit derselben Solution nur in 2019 auf, wenn ich sie in 2015 lade, funktioniert es problemlos.

Das Ziel Framework ist .Net 4.5.1, dies stimmt auch bei allen Projekten überein. Die Referenzen in den Projekten sind alle stimmig, die üblichen Tips wie "Alle Referenzen löschen und neu hinzufügen" oder "Überprüfe die Build Einstellungen für alle Projekte" habe ich durch, hier ist alles wie es sein sollte. Ich glaube auch nicht, dass es in dieser Richtung liegt, nur habe ich nicht den blassesten Anhaltspunkt, wo ich ansetzen könnte.

Im Anhang ein Bild, auf dem man die Meldung, die im Output erscheint, sehen kann.

Werd Programmierer, haben sie gesagt.
Das ist herausfordernd, haben sie gesagt.
Aber nicht, dass du regelmäßig dein ganzes Leben in Frage stellst.

16.840 Beiträge seit 2008
vor 3 Jahren

Naja, die schließt ja quasi kategorisch alle Prüfschritt aus, bzw sagst, dass Du das schon getan hast.
Der Fehler kommt nun mal von Dependencies.

Wenn Du also alle temporären Elemente (.vs Folder, suo-File, Build-Output) wirklich mal manuell gelöscht hast und es trotzdem nicht funktioniert:
Erstelle alle Projekte neu (über den Wizard), kopier die Inhalte rein. Spätestens dann sollte es funktionieren und mit nem File-Diff siehst Du die Unterschiede, die evtl. Schuld sein könnten.

T
50 Beiträge seit 2010
vor 3 Jahren

Ich hatte bisher noch nie wirklich Probleme bei der Umstellung der Visual Studio Version. Meiner Meinung nach riecht es schon sehr stark nach Problemen mit Referenzen.

Wenn das Projekt referenziert ist, prüfe mal, ob im ConfigurationManager alle Projekte zum Bauen aktiv sind. Bei uns ist so ein Fehler häufig aufgrund der falschen Targetplattform (AnyCPU, x86) zurück zu führen.