2016-05-10 4 views

Antwort

4

Bei Lösungsdateien - sowohl msbuild und xbuild versucht Debug config und Mixed platforms Plattform zu finden, aber wenn das nicht existiert, fällt es zurück auf den ersten, die es unter SolutionConfigurationPlatforms in der .sln Datei zu finden. Beachten Sie, dass dies nur Lösung Ebene config/Plattform ist, und es verwendet die Zuordnung in ProjectConfigurationPlatforms in der Datei .sln, um die Konfiguration/Plattform für das Projekt zu verwenden.

Im Falle von Projektdateien haben die *proj Dateien normalerweise die Standardwerte Configuration und Platform. Aber selbst wenn das fehlt, wählt die Microsoft.Common.*targets Datei Debug|AnyCPU als Standard.

Update: Standard-Spezifikation in der csproj könnte wie folgt aussehen:

<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform> 
    ... 

es im Wesentlichen sagt "wenn $ (Konfiguration) nicht spezifiziert ist, stellen Sie ihn dann auf Debug" und ähnliche für Platform.

+0

Wie werden die Standardeinstellungen 'Configuration' und' Platform' im csproj angegeben? Wissen Sie auch, ob Microsoft dieses Verhalten irgendwo dokumentiert hat oder wo ich die "Microsoft.Common. * Targets" und den msbuild-Code durchsuchen muss, um diese Informationen zu finden? Ich meine, ich könnte experimentieren, indem ich Testlösungen und Proj-Dateien erstelle, aber ich wollte nicht herausfinden, dass die Regeln komplexer sind als das, was meine Experimente enthüllten. –

+0

Verständnis der Build-Konfigurationen: https://msdn.microsoft.com/en-us/library/kkz9kefa.aspx – radical

+0

Danke, der Link ist genau das, was ich gesucht habe! Auch danke für das Update und ich habe vergessen, das sind in jeder der Projektdateien gleich zu Beginn ... –

Verwandte Themen