如果我使用我的解决方案文件或项目文件作为输入从命令行执行msbuild而不设置配置和平台msbuild如何确定解决方案或单个项目文件中的每个项目使用哪个配置和平台?
答案 0 :(得分:7)
如果是解决方案文件 - msbuild和xbuild都会尝试查找Debug
配置和Mixed platforms
平台,但是如果它不存在那么它会回落到第一个它可以在SolutionConfigurationPlatforms
文件中的.sln
下找到。请记住,这只是解决方案级别配置/平台,它使用ProjectConfigurationPlatforms
文件中.sln
中的映射来确定用于<的>}平台的配置/平台EM>项目
如果是项目文件,*proj
文件通常会指定默认的Configuration
和Platform
。但如果缺少那么,Microsoft.Common.*targets
文件会选择Debug|AnyCPU
作为默认值。
更新:csproj中的默认规范可能如下所示:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
...
它基本上是说&#34;如果$(配置)未指定,则将其设置为Debug&#34;,类似于Platform。