【问题标题】:VSTS build fails because it tries to build a UWP project for AnyCPUVSTS 构建失败,因为它尝试为 AnyCPU 构建 UWP 项目
【发布时间】:2016-05-30 05:27:28
【问题描述】:

我正在尝试在 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)\MSBuild\14.0\bin\msbuild.exe" 
  "C:\a\1\s\Dummy.sln" /nologo /m /nr:false 
  /fl /flp:"logfile=C:\a\1\s\Dummy.sln.log" 
  /dl:CentralLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.99.0\Agent\Worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.99.0\Agent\Worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"
  /p:AppxBundlePlatforms="x86|x64|ARM" 
  /p:AppxPackageDir="C:\a\1\b\AppxPackages\\" 
  /p:AppxBundle=Always 
  /p:configuration="Release" 
  /p:VisualStudioVersion="14.0"

问题是:为什么msbuild 试图为 AnyCPU 构建 UWP 项目?在本地运行此命令不会显示此错误(仍然不会创建 .appxupload 文件,但这是另一个问题)

【问题讨论】:

  • 你好。第一个问题 - 您是否在该项目的配置管理器中检查了“构建”选项?
  • 是的,检查了多次。通过 VS 构建解决方案是可行的。也通过 cmd-line 上的 msbuild 工作(或多或少,因为我没有得到 .appxupload 文件。但正如我所说,这是另一个问题)

标签: msbuild win-universal-app uwp azure-pipelines


【解决方案1】:

使用文本编辑器打开 .SLN 解决方案文件并找到 SolutionConfigurationPlatforms 部分,如下所示。删除具有“Any 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

【讨论】:

    【解决方案2】:

    这可能是您的解决方案中其他项目的构建平台造成的。例如,“Dummy.Test”项目。如果是通用测试项目而不是通用windows测试项目。然后它的构建平台默认为“Any CPU”。并且具有“发布”配置和“任何 CPU”平台的构建设置将添加到您的解决方案中。

    在 VS 中右键单击您的解决方案并选择“配置管理器...”,为“活动解决方案配置:”选择“发布”,为“活动解决方案平台:”选择“任何 CPU”,然后检查“选中“Dummy.Win”项目的“构建”选项。如果没有,请检查选项并签入更改,然后再次尝试构建。

    【讨论】:

    • 我删除了测试项目,但它没有工作。然后我阅读了测试项目只是为了仔细检查,从那以后它开始工作了吗?我可能在某些设置下玩得太多了,所以我不确定为什么它会突然起作用。但是,我仍然不明白 VS build 和 VSTS build 之间的区别。两者都使用 msbuild 可能具有相同的参数。那么为什么他们的行为如此不同呢? (无论如何,不​​同的讨论)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多