我正在尝试在VSTS(Visual Studio Team Services)上构建一个UWP项目。生成时,会出现以下错误消息,并且生成失败。
The project "Dummy.Win" is not selected for building in solution configuration "Release|Any CPU".
该解决方案由 3 个项目组成。
-
Dummy.Win
是基于 10586 的 UWP 项目 -
Dummy.Core
哪个是 PCL -
Dummy.Test
这是一个测试项目
Dummy.Win
参考资料Dummy.Core
.
以下命令行显示了如何调用msbuild
(添加了一些换行符):
"C:Program Files (x86)MSBuild14.0binmsbuild.exe"
"C:a1sDummy.sln" /nologo /m /nr:false
/fl /flp:"logfile=C:a1sDummy.sln.log"
/dl:CentralLogger,"C:LRMMSServicesMmsTaskAgentProvisionerToolsagents1.99.0AgentWorkerMicrosoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:LRMMSServicesMmsTaskAgentProvisionerToolsagents1.99.0AgentWorkerMicrosoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"
/p:AppxBundlePlatforms="x86|x64|ARM"
/p:AppxPackageDir="C:a1bAppxPackages\"
/p:AppxBundle=Always
/p:configuration="Release"
/p:VisualStudioVersion="14.0"
问题是:msbuild
为什么要尝试为 AnyCPU 构建 UWP 项目?在本地运行此命令不会显示此错误(仍然不会创建 .appxupload 文件,但这是另一个问题)
打开 .带有文本编辑器的 SLN 解决方案文件,并找到解决方案配置平台部分,如下所示。删除具有"任何CPU"的行
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
由解决方案中其他项目的生成平台引起的。例如,"Dummy.Test"项目。如果是常规测试项目而不是通用 Windows 测试项目。那么默认情况下,它的构建平台将是"任何CPU"。具有"发布"配置和"任何 CPU"平台的生成设置将添加到您的解决方案中。
右键单击VS中的解决方案并选择"配置管理器...",为"活动解决方案配置:"选择"发布",为"活动解决方案平台:"选择"任何CPU",然后检查是否选中了"Dummy.Win"项目的"构建"选项。如果没有,请检查该选项并签入更改,然后再次尝试构建。