wake-up-neo.com

Das referenzierte Projekt geht beim Kompilieren "verloren"

Ich habe eine C # -Lösung mit zwei Projekten: einem Dienst (dem Hauptprojekt) und einem Logger. Der Dienst verwendet Klassen aus dem Logger. Ich habe einen Verweis auf das Logger-Projekt im Service-Projekt hinzugefügt. Zur Entwurfszeit funktioniert die automatische Vervollständigung einwandfrei: Die Klassen des Protokollierers sind sichtbar, die Referenzen, die ich verwende, sind entsprechend gefärbt.

Ich baue die Lösung neu auf und die Dinge laufen schief. Die Verweise werden nicht mehr erkannt: "Der Name" Protokollierung "ist im aktuellen Kontext nicht mehr vorhanden" und die Klassen sind in der automatischen Vervollständigung nicht mehr vorhanden. Durch Entfernen und erneutes Anhängen des Verweises kehre ich in den Grundzustand zurück, in dem die Kennungen für die automatische Vervollständigung sichtbar sind.

Ich habe neu gestartet, alle Caches gelöscht und sichergestellt, dass dies die einzige Instanz von VS 2010 ist, die auf meinem Computer ausgeführt wird.

Gibt es (offensichtlich) etwas, das mir fehlt?

97
Bob Kaufman

Überprüfen Sie Ihre Build-Typen jedes Projekts unter Projekteigenschaften - Ich wette, der eine oder andere wird so eingestellt, dass er mit .NET XX - Client Profile.

Mit inkonsistenten Versionen, insbesondere mit einer als Client Profile und das andere nicht, dann funktioniert es zur Entwurfszeit, aber schlägt zur Kompilierungszeit fehl. Ein echter Gotcha.

In Visual Studio 2010 ist für mich etwas Komisches los, das Projekte scheinbar zufällig auf Client Profile, manchmal wenn ich ein Projekt erstelle und manchmal ein paar Tage später. Wahrscheinlich eine Tastenkombination, die ich versehentlich drücke ...

156
joshcomley