2013-05-07 3 views
23

In verschiedenen Codedateien von verschiedenen Projekten gibt Visual Studio manchmal eine Fehlermeldung, wenn ich sage, dass es die Verwendung der Codedatei zu entfernen und zu sortieren. Die Botschaft:Visual Studio "Organisieren Usings | Entfernen und Sortieren" meldet fälschlicherweise

„Ihr Projekt oder einer seiner Referenzen derzeit nicht bauen Wenn Sie mit diesem Vorgang fortsetzen , erforderlich usings entfernt werden.“

Dies ist jedoch nicht wahr. Erforderliche Verwendung wird nicht entfernt, wenn VS angewiesen wird, fortzufahren, und das Projekt erstellt Build.

Ich habe dieses Problem gegooglet, schaute in MSDN, und versuchte herauszufinden, warum ich dies auf bestimmte Code-Dateien, aber nicht andere, aber ohne Erfolg.

Hat sonst noch jemand das gefunden, und wenn ja, irgendwelche Ideen, worum es geht?

Ps. Ich laufe VS 2012 Ultimate, aber ich sah dies von mindestens 2005.

+0

"Erforderliche Verwendung wird nicht entfernt" - das stimmt immer noch mit der Warnung überein. Beachten Sie, dass die Warnung nicht besagt, dass sie * entfernt * werden, nur dass sie * entfernt * werden können. –

+1

True, aber der erste Teil der Warnung ist falsch. Warum ich das bei bestimmten Code-Dateien bekomme, ist verblüffend. – IamIC

+1

Ich hatte das gleiche Problem in VS2012 Premium und deaktiviert die "VS2010 Power Tools" Erweiterung, die ich installiert hatte. Nach einem Neustart (von VS) ist das Problem verschwunden. Das erneute Aktivieren der Erweiterung hat jedoch keine Probleme mehr verursacht, daher bin ich mir nicht sicher, ob dies hilfreich ist (möglicherweise ist diese Erweiterung nicht installiert ...). – Gorgsenegger

Antwort

19

Diese Fehlermeldung kann kommen fälschlicherweise, und ist ein bekanntes Problem auf Microsoft Connect dokumentiert out:

http://connect.microsoft.com/VisualStudio/feedback/details/785457/remove-unused-usings-falsely-reports-that-project-does-not-build-for-certain-files

Es wird nicht mit der aktuellen MSBuild Compiler festgelegt wird, wird aber mit Roslyn fixiert werden.

Umgehung:

können Sie die Warnmeldung deaktivieren, indem Sie auf Tools- gehen> Optionen-> Text Editor-> C# -> Erweitert -> "Warnen, wenn Fehler bauen existieren, wenn usings Organisation".

Denken Sie daran, dies hat den Nachteil, dass es Sie nicht mehr schützen wenn Ihre Lösung wirklich nicht bauen wird.

+0

Wow, danke für die Daten. Ich kann nicht glauben, dass dieser Bug seit so vielen Jahren existiert und nur in einer noch zu veröffentlichenden Version von VS behoben ist. – IamIC

+0

Sie arbeiten schon eine ganze Weile an Roslyn, also vermute ich, dass sie irgendwo eine Zeile im Sand überquert haben und beschlossen haben aufzuhören, Probleme im bestehenden Compiler zu beheben. FWIW Ich lief seit Monaten mit dieser Warnung und es hat mich noch nicht wirklich gebissen. –

+0

Das macht Sinn. – IamIC

8

Ich hatte das gleiche Problem und es stellte sich heraus, gab es eine ungültige formatierte Klassenreferenz in einem XML-Kommentar. Ich hatte so etwas

<see cref="List{T"> 

Beachten Sie das fehlende '}' Zeichen am Ende. Es hat mich verrückt gemacht, bis ich das gefunden habe.

Hinweis: Ich verwende Visual Studio 2012 mit installierten Productivity Power Tools, und dies geschah jedes Mal, wenn ich die Option "Entfernen und Sortieren bei Speichern" aktivierte. Ich mag dieses Feature wirklich und war kurz davor, es wegen dieser Warnungen abzuschalten und dachte, es sei fehlerhaft. Jetzt weiß ich, worauf ich achten muss, wenn ich sie bekomme.

+0

Danke Nick. Ich erhalte eine Datei ohne XML und eine mit gültigem XML. Haben Sie festgestellt, dass dies konsistent in der Datei mit fehlerhaftem XML aufgetreten ist? – IamIC

+1

Ja, es trat jedes Mal auf, wenn ich versuchte, die Datei zu speichern, bis ich in der Lage war, die fehlende Klammer ausfindig zu machen, und das reparierte sie. Das ist der einzige Fall bisher, in dem ich ihn immer in einer Datei hatte, obwohl mein Projekt gut lief. Ich habe es definitiv an anderen Orten gesehen, konnte Ihnen aber nicht sagen, ob es das gleiche oder etwas anderes ist. Ich werde hier aktualisieren, wenn ich auf andere Instanzen stoße. –

+0

In meinem speziellen Fall war es: ' Type.Here'. Nicht mein Code, aber trotzdem nervig! – Matt

Verwandte Themen