Ich verwende Visual Studio 2012 RC, um mit meiner C # -Lösung zu arbeiten. Alle meine konfigurationsspezifischen Einstellungen werden in einer einzigen .props-Datei gespeichert, die dann in allen meinen .csproj-Dateien enthalten ist.
Doch VS besteht darauf, dies vor das Include zu stellen:
%Vor%Warum ist das so?
Zu Ihrer Information, meine gemeinsame Datei sieht so aus: Ссылка
Diese IntermediateOutputPaths können eingefügt werden, wenn MSBuild einen ungültigen Pfad erhält.
In unserem Fall hatten wir einen zusätzlichen unnötigen Schrägstrich nach SolutionDir für die Ausgabeordner.
Was für uns nicht funktionierte (beachten Sie den zusätzlichen Schrägstrich):
%Vor%Was funktioniert hat:
%Vor%Um die Fehlersuche in Ihrem speziellen Fall zu erleichtern, aktivieren Sie die Diagnose-MSBuild-Ausgabe und Protokollierung unter Extras -> Optionen -> Projekte und Lösungen -> Build und Run - & gt; MSBuild-Projekt Build-Ausgabe Ausführlichkeit. Suchen Sie dann nach dem generierten Ordner (z. B. "Temp").
Die Verwendung einer gängigen proj / props / targets-Datei ist eine großartige Idee, erfordert jedoch eine gewisse Bekämpfung von Visual Studio.
Sie können diese Einstellungen bei Bedarf überschreiben. Wenn Ihr Import zuvor kam, hätten die Eigenschaften von Visual Studio Vorrang. In MSBuild gewinnt die letzte Definition und wird verwendet. Das ist eine gute Sache. Verursacht es Fehler? Oder magst du es einfach nicht?
Sie haben das in Ihrem Projekt angegeben. Die Property-Datei hat den BaseIntermediateOutputPath. Wenn Sie keinen Wert angeben, wird er von Ihrer Basis abgeleitet.
Der vollständige Zwischenausgabepfad, wie von BaseIntermediateOutputPath abgeleitet, wenn kein Pfad angegeben ist. Zum Beispiel \ obj \ debug. Wenn diese Eigenschaft überschrieben wird, hat das Festlegen von BaseIntermediateOutputPath keine Auswirkungen.
Siehe: Ссылка
Tags und Links .net visual-studio visual-studio-2012 msbuild csproj