MSB4018: Unerwarteter Fehler bei der ResolveAssemblyReference-Aufgabe

Heute morgen hat sich der Builder von Visual Studio 2017 mal wieder „verschluckt“. Das bei jedem Fehler angegebene Projekt A war immer das gleiche. Und seltsamerweise lies sich das Projekt A alleine problemlos bauen. Es werden gleich 10 unterschiedliche Build-Errors ausgespuckt. Die betreffende Datei ist die Microsoft.Common.CurrentVersions.targets in der Zeile 1964. Bei jedem erneuten Buildversuch stieg die Zahl der Builderrors immer um 10 (10, 20, 30, 40, 50, 60, … Builderrors).

Workaround

Ich baue aktuell nicht mehr die komplette Solution, sondern nur noch die Projekte, die ich gerade brauche.

Erfolglose Lösungsversuche

  • Ich habe meinen Kollegen gebeten die Solution zu bauen und bei ihm hat es funktioniert.
  • Clean & Build hat nichts gebracht.
  • obj/bin von Projekt A manuell löschen (wie hier auf SO empfohlen) hat nichts gebracht.
  • Der fälschlich vermutete Lösungs-Hinweis war der Blick in die Verweise des Projekts A im Projektmappen-Explorer – fünf Verweise waren mit einem gelben Warnzeichen gekennzeichnet. Erst als ich ein so markiertes Projekt im Projektmappen-Explorer öffnete, erschien kurz eine Meldung, dass etwas im Hintergrund geladen würde und das entsprechende Warnzeichen verschwand. So tat ich es mit allen betreffenden Projekten. Dies hat jedoch nichts an den Buildproblemen der Solution verbessert.
  • Restart Windows, anschließender Clean & Build brachte keine Lösung. Der einzig interessante Effekt war, dass die Anzahl der Fehler wieder auf 10 sank. Bei jedem weiteren Solution-Build stieg die Anzahl der Fehler wieder jeweils um 10.

VS: Ausgewählten Changeset vom einen Branch in den anderen überführen

  1. Gehe im Source Control Explorer in den Root-Ordner.
  2. Rechtsklick auf Quellen-Branch und dann ‚Branching & Merging‘ -> ‚Merging‘
  3. Im ersten Wizardstep noch Selected changesets anklicken.
  4. Das gewünschte Changeset auswählen und mit Finish bestätigen.

C#: Metadata file ‚C:\ (…) \xyz.dll‘ could not be found

Anklicken der Fehlermeldung in der ‚Error List‘ führt bei diesem Fehler unüblicherweise nirgendwohin. Im angegebenen Pfad fehlt nicht nur die .dll sondern auch der \bin- und der \Debug-Ordner. Die Situation ist entstanden nachdem wir einen Dev-Branch eingeführt haben. Seitdem ich im entsprechenden Projekt den output-pfad auf einen x-beliebigen Pfad aktualisiert habe und danach wieder auf den alten Pfad zurückgestellt habe, läuft es. Einen ähnlichen Lösungsansatz verfolgt stackoverflow. Wenn man es pointiert ausdrücken will, würde man sagen, MS Build hat sich da beim Branchen irgendwie verschluckt.

FileNotFoundException: Could not load file or assembly

Der XAML Viewer von Visual Studio zeigt statt die GUI zu visualisieren folgende Fehlermeldung:

FileNotFoundException: Could not load file or assembly 'DevExpress.Xpf.Core.v13.1, Version=13.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' or one of its dependencies. Das System kann die angegebene Datei nicht finden.

Schaut man nun in den in den Referenzen angegebenen Pfad findet man die .dll genau der Version, in der sie laut Exception angeblich nicht ladbar wäre.

Die Ursache konnte ich bislang noch nicht finden, aber startet man Visual Studio als Administrator tritt dieses Problem nicht auf. Auch wenn man Visual Studio danach wieder ’normal‘ startet trat dieses Problem nicht nochmal auf. Aber aus der Erfahrung weiß ich, dass es wieder kommen kann.