Visual Studio Ignorieren von MSBuild-Dateianpassungen (csproj)

8

Hinweis: Visual Studio 2010 SP1 / MSBuild 4.0

Ich werde verrückt nach diesem Fehler, ich kann nicht verstehen, warum Visual Studio sich so benimmt. Ich schreibe eine benutzerdefinierte .targets -Datei für meine Projekte in einer bestimmten Lösung. Ich habe die .csproj -Datei bearbeitet, um folgendes zu haben:

%Vor%

Nach Microsoft.CSharp.targets am Ende der Datei. Die Idee ist, dass diese Zieldatei Aktionen einfügt, die ausgeführt werden, indem die Eigenschaften von _____DependsOn geändert werden, genau wie PostSharp sich integriert.

Nachdem ich mir am Kopf gekratzt habe, wie meine Ziele nicht laufen würden, entschied ich mich, es in der Befehlszeile mit MSBuild auszuführen und die schön formatierte Farbausgabe zu sehen.

In der Befehlszeile laufen meine Ziele . Von Visual Studio (selbst mit clean / rebuild) laufen meine Ziele nicht .

Ich habe BuildDependsOn angehakt, um meine Ziele so auszuführen:

%Vor%

Mein erster Gedanke ist, dass ich die falsche Datei habe. Ich habe die Datei überprüft, es ist die richtige. Dann überprüfte ich, ob es abgestanden war. Lassen Sie Visual Studio einige Änderungen vornehmen, gespeichert, ausgeführt werden. Visual Studio's neue Änderungen traten in Kraft, meine Ziele wurden immer noch nicht ausgeführt.

Also hier bin ich verzweifelt. Ich habe einen BLARING SYNTAX ERROR in meine Zieldatei eingefügt. MSBuild explodiert, Visual Studio kompiliert das Projekt erfolgreich.

  • Was mache ich falsch?
  • Verwendet Visual Studio die MSBuild-Datei nicht?
  • Nennt es ein super geheimes Ziel anstelle von "Build" von Microsoft.Common.targets ?
  • Warum sollte sich msbuild so verhalten, wie es in einem anderen Studio ist? Ich dachte, sie wären so konzipiert, dass sie zusammenarbeiten ...
Aren 29.07.2011, 16:31
quelle

1 Antwort

12

Um die obigen Kommentare zusammenzufassen, führen Änderungen an importierten Projektdateien weder zu einem erneuten Laden noch bewirken Änderungen am importierenden Projekt ein erneutes Laden der Importe. Ein Neuladen der Lösungsdatei ist erforderlich, um die bei einem Import vorgenommenen Änderungen zu erfassen.

    
Brian Kretzler 29.07.2011, 17:55
quelle

Tags und Links