Visual Studio-Warnung: "Einige der mit der Lösung verknüpften Eigenschaften konnten nicht gelesen werden."

160

Wenn ich meine Lösung öffne, wird ein Dialogfeld mit dieser Warnung angezeigt. Die Lösung (eine Web-App, ein Klassenprojekt) wird fehlerfrei erstellt.

Wie kann ich feststellen, welche Eigenschaften das Problem verursachen, und den Fehler beheben?

chris
quelle

Antworten:

281

Ich habe gerade ein ähnliches Problem mit einer VS2010-Lösung mit 35 Projekten behoben ... Die Ursache war ein Duplikat

GlobalSection(TeamFoundationVersionControl)

Abschnitt in der Lösungsdatei. Ich habe die Lösung geschlossen, die doppelte GlobalSection-Konfiguration (TeamFoundationVersionControl) entfernt und die Lösung neu geladen, und die Warnmeldung war verschwunden.

Wenn dies nicht das Problem für Sie ist, würde ich angesichts der Tatsache, dass Sie nur zwei Projekte haben, die kaputte Lösungsdatei fallen lassen, eine neue Lösung erstellen und Ihre beiden Projekte erneut hinzufügen ...

Boycs
quelle
6
Hatte das gleiche Problem mit VS2012, funktionierte diese Lösung. Vielen Dank!
David Airapetyan
4
Ist es sicher anzunehmen, dass der zu löschende GlobalSection (TeamFoundationVersionControl) der unterste ist?
Frostshoxx
4
Ich hatte das gleiche Problem und habe gerade das untere entfernt. Es hat das Problem gelöst. Es scheint, dass das Zusammenführen dies manchmal verursacht.
MaiOM
12
Es war das unterste für mich (es war eindeutig veraltet). Ich vermute, VS verwendet den ersten, den es findet. In meinem Fall wurde dies durch eine TFS-Zusammenführung verursacht.
Igby Largeman
2
Gleiches Problem in VS2013 mit doppeltem GlobalSection - behoben durch Entfernen
Mark Hosang
30

Es scheint, dass es eine Reihe von Gründen für diese Warnung gibt. Ich habe es bekommen, weil meine Lösungsdatei SccNumberOfProjects = 4nur 3 war.

bicbmx
quelle
25

Die beste Lösung besteht darin, den VS zu zwingen, die Konfigurationen neu zu generieren. Um dies zu tun:

  1. Öffnen Sie die SLN-Datei mit einem Texteditor.
  2. Scrollen Sie nach unten, bis Sie das letzte "EndProject" -Element erreichen.
  3. Löschen Sie danach alles.
  4. Speichern, schließen und erstellen Sie die Lösung neu, und alles wird neu generiert.
Arvand
quelle
Diese Lösung war perfekt für meine Situation. Ich habe zwei ähnliche Fehler erhalten: The following property is missing or has incorrect value: SccLocalPath63und The following property is missing or has incorrect value: SccLocalPath64
user919426
2
Diese Lösung hat bei mir in VS 2017 funktioniert. Sie wird beim Öffnen der SLN-Datei tatsächlich neu generiert. Beachten Sie, dass EndProject ein Wort ist.
Varun Sharma
Dies war die Lösung für mich. Der einzige Unterschied in der Lösungsdatei war die SolutionGuid.
ADH
2
Dies hat bei mir in VS 2017 funktioniert. Das einzige, was ich hinzufügen muss, ist ... wenn Sie Lösungsordner verwenden ... müssen Sie Ihre Projekte wieder in die richtigen "Slots" legen
Prisoner ZERO
1
Dies funktionierte für mich in VS 2019. Ich hatte doppelte Abschnitte, wie in anderen Lösungen erwähnt, aber wenn ich sie entfernen würde, würden sie zurückkommen. Dies war der einzige, der funktionierte.
Fehays
8

Ich habe gerade ein ähnliches Problem in VS2012 mit 44 Projekten behoben .

Die Ursache war eine Kombination aus einem duplizierten GlobalSection(TeamFoundationVersionControl)Abschnitt (Antwort von a la Boycs), aber ich hatte auch mehrere Projekte dupliziert - sowie einige Verweise auf Projekte, die kürzlich entfernt wurden - innerhalb des GlobalSection(TeamFoundationVersionControl)Abschnitts, den ich aufbewahrte.

Nachdem ich sichergestellt hatte, dass alle referenzierten Projekte 1: 1 mit den tatsächlichen Projekten in meiner Lösung übereinstimmten, verschwand die Warnung.

Nebenbei: Ich vermute, dass die meisten dieser Probleme hätten vermieden werden können, wenn der .sln während der Verzweigung und der Festschreibung von Zusammenschlüssen mehr Aufmerksamkeit geschenkt worden wäre, aber wer weiß, was VS manchmal denkt ...

Ben Mosher
quelle
5

Ich hatte eine Vielzahl der oben genannten Fehler. Ich habe das Projekt umbenannt, geschlossen gespeichert, wieder geöffnet und den Namen wieder geändert. Dadurch wird die SLN-Datei neu erstellt und in meinem Fall alle zusätzlichen Elemente entfernt.

CThin
quelle
Einfachste Lösung hier. Stöbern Sie nicht in der .slnSuche nach Fehlern.
Jonathan Landrum
Könnten Sie das etwas näher erläutern? Einige Benutzer verstehen möglicherweise nicht. Wollen Sie es im Explorer oder Visual Studio oder in der eigentlichen Datei umbenennen?
iTechy
1
Führen Sie dies in Visual Studio aus. Klicken Sie mit der rechten Maustaste auf das Projekt, ändern Sie den Namen in etwas, speichern Sie es und beenden Sie es. Wieder öffnen und zum Original zurückkehren, speichern und beenden. Öffnen Sie die Lösung erneut und der Fehler sollte behoben sein.
CThin
2

Eine identische Fehlermeldung in VS2012 wurde behoben, indem Boycs 'Anweisungen gefolgt wurden. Für mich waren das Problem zwei überflüssige GlobalSection(SolutionConfigurationPlatforms) = preSolutionBlöcke am Ende meiner SLN-Datei.

BitPusher16
quelle
2

Für mich war das Problem Leerzeichen (durch Kopieren und Einfügen) am Ende jeder Zeile. Durch das Entfernen habe ich den Fehler nicht erneut erhalten.

Papaiatis
quelle
2

In VS 2015 hatte ich zwei dieser Abschnitte " GlobalSection (TeamFoundationVersionControl) = preSolution ".

Das erste enthielt das neueste Projekt, das der Lösung hinzugefügt wurde, das zweite (gegen Ende der Lösungsdatei) nicht. Nach dem Löschen der zweiten wurde die Lösung in VS 2015 fehlerfrei geöffnet.

Papa Stahl
quelle
1

Die anderen Antworten erklären bereits, wie das Problem behoben werden kann. Vielleicht kann ich helfen, das Problem nicht wieder zu bekommen:

Wie ich zu dem Problem kam Unsere Lösungsdatei wurde durcheinander gebracht, als ich ein neues Projekt hinzufügte, während ein anderer Entwickler ebenfalls ein neues Projekt hinzufügte und seine Änderungen festschrieb (die ich auf meinem lokalen System nicht bekam). Als ich anfing, meine Änderungen zu übernehmen, musste ich die .sln-Datei zusammenführen, wo ich offensichtlich Fehler gemacht habe :-)

Was ich gelernt habe

Lösungsdateien sind schrecklich zusammenzuführen. Wenn Sie ein Projekt hinzufügen, gehen Sie wie folgt vor: 1. Holen Sie sich die neueste Version. 2. Fügen Sie Ihr Projekt hinzu. 3. Übernehmen Sie

Wenn Ihre Lösungsdatei unter ausstehenden Änderungen angezeigt wird, Sie jedoch keine Änderung im Vergleichsmodus sehen, müssen Sie auf "Alle speichern" klicken. Beim Hinzufügen Ihres neuen Projekts hat VisualStudio auch die Lösung geändert. Dies ist jedoch derzeit eine nicht gespeicherte Änderung.

Die WHO
quelle
1

Überprüfen Sie, ob Ihre SccNumberOfProjects in Ihrer SLN- Datei von Ihrer tatsächlichen Projektnummer abweichen.

Ali Karaca
quelle
0

Ich habe ein ähnliches Problem in vs2012 behoben.

In meinem Fall bestand das Problem darin, dass der Eigenschaftswert SccProjectName0 in GlobalSection in der Datei MySolutionName.sln leer war.

Ich habe es gelöst, indem ich den Wert SccProjectName0 mit einer Kopie dieses Zeichenfolgenwerts aus einer anderen Lösung festgelegt und den Namen des Projekts in der Zeichenfolge durch den aktuellen ersetzt habe (Übrigens - wenn Ihr Projektname als Leerzeichen darin enthalten ist (''), muss dies geschehen durch '\ u0020' ersetzen).

* *

In meinem Fall beginnt das Problem, nachdem ich versehentlich die von TFS gesteuerte Lösung mit der alten MySolutionName.sln-Datei derselben Lösung geöffnet habe, seit diese Lösung von VSS gesteuert wurde.

Yossi B.
quelle
0

VS2015 Update 3. [GlobalSection (TeamFoundationVersionControl) = preSolution] wurde in der Lösungsdatei dupliziert. Das untere Duplikat enthielt ein Projekt, das zuvor entfernt wurde. Durch Entfernen dieses Duplikats wurde das Problem behoben. Ich denke, die Duplizierung wurde durch ein vorheriges Zusammenführungsproblem verursacht.

Moutono
quelle
0

Ich kann noch eine mögliche Lösung hinzufügen: Eine zweifelhafte Zusammenführung bedeutete, dass eine der Zeilengruppen SccProjectUniqueName / SccProjectName / SccLocalPath im Abschnitt GlobalSection (TeamFoundationVersionControl) Zahlen hatte, die nicht eindeutig waren, obwohl die SccNumberOfProjects korrekt waren. Die Nummerierung wurde korrigiert, die Fehlermeldung verschwand.

Julian Melville
quelle
0

VS 2019 - Ich habe zum ersten Mal in VS 2019 ein VS 2017-Projekt geöffnet. Klicken Sie im Ausgabefenster auf die DDL "Ausgabe anzeigen von:" und überprüfen Sie Ihre Optionen, da möglicherweise zusätzliche Fehlerinformationen angezeigt werden.

In meinem Fall bestand die Lösung darin, meine Versionsverwaltungszuordnungen für 2019 neu zu konfigurieren.

  • Gehen Sie in den Team Explorer
  • Klicken Sie auf die Schaltfläche Verbindungen verwalten (Stecker).
  • Klicken Sie auf den Link Verbindungen verwalten und dann auf Mit einem Projekt verbinden ...
  • ...
GrayDwarf
quelle
-1

Ich hatte das gleiche Problem und meine Lösung lautet:

  1. Öffnen Sie die Lösung in VS
  2. Setzen Sie die Lösungsplattform auf Standard
  3. Speichern Sie es
  4. Schließen Sie den VS
  5. Öffnen Sie die SLN-Datei in Notepad ++ (oder einem anderen Editor).
  6. Löschen Sie alle anderen Elemente der Lösungsplattform von überall
  7. (Zum Beispiel: {73E03C8F-1F76-45E2-9D45-FA040A63F0AA} .Release | Beliebige CPU.Build.0 = Release | Beliebige CPU)
  8. Speichern Sie es und öffnen Sie die Lösung erneut.

Das funktioniert bei mir.

Zoltán Nyakas
quelle