2016-05-30 68 views
2

我试图在VSTS(Visual Studio Team Services)上构建一个UWP项目。构建时会发生以下错误消息,并且构建失败。VSTS构建失败,因为它试图为AnyCPU构建一个UWP项目

The project "Dummy.Win" is not selected for building in solution configuration "Release|Any CPU". 

该解决方案由3个项目组成。

  • Dummy.Win这是基于10586
  • Dummy.Core的UWP项目,这是一个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文件,但这是另一个问题)

+0

你好。第一个问题 - 你是否在这个项目的配置管理器中检查了“Build”选项? –

+0

是的,多次检查。通过VS构建解决方案。也可以通过cmd-line上的msbuild工作(或多或少,因为我没有得到一个.appxupload文件。但正如我所说,这是另一个问题) – Stephan

回答

0

这可能是由解决方案中其他项目的构建平台造成的。例如,“Dummy.Test”项目。如果它是一个通用测试项目而不是通用的Windows测试项目。那么默认情况下,它的构建平台将是“任何CPU”。具有“发布”配置和“任何CPU”平台的版本设置将添加到您的解决方案中。

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

+0

我删除了测试项目,它没有奏效。然后我读了测试项目只是为了仔细检查,从那以后它工作?我可能玩了太多的W /一些设置,所以我不知道它为什么突然起作用。不过,我仍然不明白VS构建和VSTS构建之间的区别。两者都使用msbuild可能w /相同的论点。那么他们为什么表现如此不同呢? (无论如何,不​​同的讨论) – Stephan

0

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