我的项目似乎都有3个<PropertyGroup>
个项目。
一:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
二:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
三:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
FinalBuilder失败了。当我进入项目文件并将<OutputPath>bin\Debug\</OutputPath>
添加到.csproj文件中的第一个元素(我理解的MSBUILD文件)时,构建成功。
其余两个元素已定义<OutputPath>
。
这是所有3个元素的必填字段吗?为什么我的项目文件中的第一个元素缺少它?
答案 0 :(得分:1)
当msbuild编译一个项目时,它将OutputPath作为一个参数,它应该放置构建输出。
.csproj文件有一些默认设置,它在第一个
在Conditionel PropertyGroups中,有不同配置的特定属性和平台。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
此节点内的属性会覆盖默认属性,因此它可以专门构建。
要点击不同的propertyGroups,msbuild需要一些参数,例如点击“Release | x86”命令就像这样。
msbuild /p:Configuration="Release" /p:Platform="x86"
Msbuild将使用默认属性组中的属性,并覆盖/使用属性组中满足条件的属性,在此示例中为“Release | x86”编译代码
你的问题听起来像msbuild没有正确的参数,来评估正确的属性组