错误APPX3212:无法找到"Portable 7.0"的SDK根文件夹

Dav*_*e R 14 c# msbuild portable-class-library teamcity-9.0

我正在尝试使用TeamCity/MSBuild构建我的解决方案.这是一个WebAPI项目,它在PCL中与移动客户端共享一些实体.

我看到有一些警告要在构建服务器上安装PCL引用库,我认为我已经排序(在构建服务器中构建可移植类库项目失败)

但是,我在构建可移植类库时遇到错误,如下所示:

[11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj] _GetSdkToolPaths [11:20:49][_GetSdkToolPaths] GetSdkPropertyValue *[11:20:49][GetSdkPropertyValue] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets(975, 5): error APPX3212: SDK root folder for 'Portable 7.0' cannot be located. See http://go.microsoft.com/fwlink/?prd=12560&pver=1.0&plcid=0x409&ar=MSDN&sar=PlatformMultiTargeting&o1=Portable&o2=7.0 for more information.*

"帮助"链接没有任何用处,并且在寻找任何解决方案方面似乎都非常具有谷歌抗性.

我根本没有在构建服务器上安装Visual Studio 2015,但我已经安装了PortableClassLibrary工具,从我的本地PC上复制了参考目录等,根据其他相关的SO问题.

请帮忙?

Sam*_*son 4

我在尝试构建针对 .NET Standard 的可移植项目时遇到了此错误。

我设法通过从安装了 Visual Studio 的计算机复制来解决该问题,而无需在构建服务器上安装 Visual Studio:

  • C:\Program Files (x86)\Microsoft SDKs\Portable\v14.0
  • C:\Program Files (x86)\MSBuild\Microsoft\Portable
  • C:\Program Files (x86)\ReferenceAssemblies\Microsoft\Framework.NETPortable

后来我尝试构建一个针对 .NET Core 的 WebApi 项目(这是一个 xproj 文件),当我将 XProj 文件添加到我的解决方案中时,我还必须复制:

  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet
  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet.Web

这让我更进一步,但它也导致其他项目停止正常构建(解决方案中没有 XProj 文件时工作正常)。我注意到一件事,.NET Core 的 NuGet 工具不支持经过身份验证的 NuGet 源,因此我必须在我的源上启用匿名访问。但现在我的 .NET Standard 项目失败并出现错误 MSB4057:项目中不存在目标“_GenerateDependencyFragmentJson”。

我还没有时间诊断这个问题,但我希望上述信息对某人有所帮助。如果您不使用 xproj 文件而只是尝试使用 .NET Standard 项目,则上述内容应该是您无需安装 Visual Studio 即可构建的全部内容。

顺便说一句,我非常努力地尝试通过首先尝试安装 Microsoft Build Tools 2015 Update 3 来避免复制这些文件,希望它能够将所需的文件放置到位,但遗憾的是它并没有。我把希望寄托在 VS15 中使用的 MSBuild 的下一个版本上,并希望它的构建工具包在发布时能够包含构建这个东西所需的一切,因为他们似乎没有更新2015 构建工具具有此支持。