MS Visual Studio 2013.
Sowohl When
als auch ItemGroup
Elemente können das Condition
Attribut haben (wie ich es in MSDN sehe). Aber ich bekomme andere Ergebnisse.
Wenn $(CAD_Year)
2015 ist, erwarte ich, dass AcRibbon
nicht auf mein Projekt verweist:
Aber ich bekomme ungelösten Bezug im Solution Browser für die AcRibbon
immer.
Aber diese Variante funktioniert gut:
%Vor% In diesem Fall wird AcRibbon
nur referenziert, wenn $(CAD_Year)
kleiner als 2010 ist.
Warum bekomme ich die verschiedenen Ergebnisse?
Ich habe die Antwort in MSDN hier gefunden:
Während bedingte Importanweisungen in Befehlszeilen-MSBuilds funktionieren, Sie funktionieren nicht mit MSBuild in Visual Studio integriert Entwicklungsumgebung (IDE). Bedingte Importe werden mit ausgewertet Verwenden der Konfigurations - und Plattformwerte, die festgelegt werden, wenn der Projekt ist geladen. Wenn nachträglich Änderungen vorgenommen werden, die a erfordern Neubewertung der Bedingungen in der Projektdatei, zum Beispiel Wenn Sie die Plattform ändern, überprüft Visual Studio die Bedingungen erneut Eigenschaften und Artikel, aber nicht auf Importe. Weil der Import Bedingung wird nicht neu bewertet, der Import wird übersprungen. Um zu arbeiten Setzen Sie bedingte Importe in die .targets-Dateien oder setzen Sie den Code in a bedingter Block, z. B. ein Element zum Auswählen von Elementen (MSBuild).
Ich denke, das gilt auch für ItemGroup
element ...
Tags und Links visual-studio msbuild visual-studio-2013