Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误APPX3221:SDK根文件夹用于';便携式7.0';找不到_C#_Msbuild_Portable Class Library_Teamcity 9.0 - Fatal编程技术网

C# 错误APPX3221:SDK根文件夹用于';便携式7.0';找不到

C# 错误APPX3221:SDK根文件夹用于';便携式7.0';找不到,c#,msbuild,portable-class-library,teamcity-9.0,C#,Msbuild,Portable Class Library,Teamcity 9.0,我正在尝试使用TeamCity/MSBuild构建我的解决方案。 这是一个WebAPI项目,它与移动客户端共享PCL中的一些实体 我看到在buildserver上安装PCL参考库时有一些注意事项,我想我已经整理好了 () 但是,在构建可移植类库的过程中,我发现一个错误,如下所示: [11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj]\u getsdktoolpath [11:20:49][[u GetSDKToolPath]

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

我看到在buildserver上安装PCL参考库时有一些注意事项,我想我已经整理好了 ()

但是,在构建可移植类库的过程中,我发现一个错误,如下所示:

[11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj]\u getsdktoolpath
[11:20:49][[u GetSDKToolPath]GetSdkPropertyValue
*[11:20:49][GetSdkPropertyValue]C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppxPackage.Targets(975,5):找不到“Portable 7.0”的错误APPX322:SDK根文件夹。看见http://go.microsoft.com/fwlink/?prd=12560&pver=1.0&plcid=0x409&ar=MSDN&sar=PlatformMultiTargeting&o1=Portable&o2=7.0 有关详细信息。*

“帮助”链接没有任何用处,而且在寻找任何解决方案方面,它似乎非常抵制谷歌

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


请帮助?

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

通过从安装了Visual Studio的计算机复制,我在构建服务器上没有安装Visual Studio的情况下成功地解决了此问题:

  • C:\ProgramFiles(x86)\Microsoft SDK\Portable\v14.0
  • C:\ProgramFiles(x86)\MSBuild\Microsoft\Portable
  • C:\Program Files(x86)\ReferenceAssembly\Microsoft\Framework.NETPortable
后来,我尝试构建一个以.NET Core为目标的WebApi项目(这是一个xproj文件),当我将xproj文件添加到我的解决方案中时,我还必须复制:

  • C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet
  • C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet.Web
这让我更进一步,但也导致其他项目停止正常构建(在解决方案中没有XProj文件的情况下,这些项目运行良好)。我注意到的一件事是,.NETCore的NuGet工具不支持经过身份验证的NuGet提要,因此我必须启用对提要的匿名访问。但现在我的.NET标准项目失败,错误为MSB4057:项目中不存在目标“_GeneratedPendencyFragmentJSON”

我还没有找到时间来诊断这个问题,但我希望上面的信息能帮助一些人。如果您不使用xproj文件,而只是尝试使用.NET标准项目,则无需安装Visual Studio即可构建上述内容


顺便说一句,为了避免复制这些文件,我首先尝试安装Microsoft Build Tools 2015 Update 3,希望它能将所需的文件放在适当的位置,但不幸的是没有。我把希望寄托在VS15中正在使用的下一个版本的MSBuild上,希望它的构建工具包在发布时能够提供构建这些东西所需的一切,因为他们似乎不会用这种支持更新2015年的构建工具。

OK。我通过在构建服务器上安装“VS2015 Community Edition”解决了这个错误,因此很明显,有些Xamarin-y是VS install的一部分,但不是由PCL工具安装的。有人知道这是什么吗?安装VS2015 CE听起来太极端了。我现在也遇到了同样的问题。但愿有人能管理好增加了一笔赏金。。。也许这会引起一些注意:)您是否签出了此答案-我遇到了类似的问题并最终用类似的解决方案解决了它。我遇到了相同的“MSB4057:项目中不存在目标”_GeneratedPendencyFragmentJSON”。您是否真的诊断了此问题?到目前为止,我在网上看到但尚未测试的唯一解决方案是在构建服务器上实际安装VS2015。。。这是我宁愿避免的。不幸的是,我没有时间进一步诊断这个问题。我相信有一种方法可以避免在服务器上安装VS2015,但它需要仔细检查MSBuild目标,以发现它是生成服务器上不存在的引用,需要在那里手动复制。这就是我如何找到我在回答中提到的东西。