Nach dem Upgrade einer Lösung mit 25 Projekten von VS2012 Update 4 auf VS2015 RTM (14.0.23107.0) erhalte ich beim Erstellen eines der Projekte den folgenden Fehler:
(...) MSB4018: 'Die Aufgabe "Link" ist unerwartet fehlgeschlagen. (...) System.NullReferenceException: Objektreferenz wurde nicht auf eine Instanz eines Objekts gesetzt. ' (...)
Hier die vollständige Ausgabe:
%Vor%Ich habe bereits mehrere Lösungsvorschläge für MSB4018 ohne Erfolg ausprobiert. Der Fehler 'Die Aufgabe' Link 'ist unerwartet fehlgeschlagen' wurde von Google noch nicht einmal indiziert. Ich vermute, dass dieses Problem irgendwie mit dem Typ des Projekts zusammenhängt, da es das einzige Projekt in der Lösung ist, das als Ressourcen-DLL verwendet wird (d. H. Ohne Eingangspunkt usw.). Die einzigen Änderungen, die von VS2015 an der Projektdatei vorgenommen wurden, sind " ToolsVersion: 4.0 = & gt; 14.0 " und " PlatformToolset: v110_xp = & gt; v140_xp ".
Hat jemand dafür eine Lösung?
Ich habe es geschafft, dieses Problem selbst zu beheben und möchte die Lösung hier für zukünftige Referenz dokumentieren.
Der folgende Fehler wurde durch ein leeres XML-Element in der Projektdatei verursacht:
Auf das leere Element wurde von der Task 'Link' zugegriffen, die gerade fehlgeschlagen ist:
Durch das Entfernen des entsprechenden Elements wurde das Problem behoben:
%Vor%Hinweis: Wie es in anderen Posts zu sehen ist, scheinen viele der MSB4018-Fehler mit Projektdateien zusammenhängen, die unerwartete Werte enthalten.
VS 2015: Lösung des Problems ist wie folgt: Gehe zu:
Projekteigenschaften- & gt; Linker- & gt; Debugging- & gt; Generiere Debug-Info,
Legen Sie diese Eigenschaft entweder als Optimieren für das Debugging (/ DEBUG) oder Nein
festHinweis: Ich habe ein ähnliches Problem beobachtet, als es leer war (nicht gesetzt).
Es hat für mich funktioniert.
Ich hoffe, diese Information wäre hilfreich.
Viel Glück:).
Eine andere Lösung besteht darin, alle generierten Dateien aus dem letzten Build durch ein Explorer-Fenster zu löschen.
Löschen Sie alle Dateien in:
. \ Projekt \ bin
. \ Projekt \ obj
Während Sie "Clean" oder "Rebuild" direkt über Visual Studio erstellen können, werden nur einige der Dateien erfasst. Durch das Erzwingen, alle Dateien neu zu kompilieren, werden jetzt alle Speicherorte korrekt ausgerichtet und das Problem sollte behoben werden.
Tags und Links visual-studio-2012 msbuild visual-studio-2015