Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
MSBuild在UWP项目上失败_Msbuild_Uwp - Fatal编程技术网

MSBuild在UWP项目上失败

MSBuild在UWP项目上失败,msbuild,uwp,Msbuild,Uwp,我的解决方案中有两个项目,MyProject.Core和MyProject.UnitTests,它们都是UWP。从VS中,我可以毫无问题地构建和运行它们,但当我尝试使用MSBUILD.exe从命令行构建UnitTests项目时,我遇到以下错误: C:\Program File x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(140,5):错误:您的project.json未将“win10”列为目标运行时。您应该在project.json的

我的解决方案中有两个项目,MyProject.Core和MyProject.UnitTests,它们都是UWP。从VS中,我可以毫无问题地构建和运行它们,但当我尝试使用MSBUILD.exe从命令行构建UnitTests项目时,我遇到以下错误:

C:\Program File x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(140,5):错误:您的project.json未将“win10”列为目标运行时。您应该在project.json的“runtimes”部分中添加“'win10”:{}” 然后重新运行NuGet restore

这个错误完全是误导。我注意到,当我删除对核心项目的引用时,它确实起作用。我认为这与核心项目的参考资料有关。我尝试手动添加它们,但没有成功

以下是完整的控制台输出:

GetInstalledSDK位置: 搜索目标为“UAP,10.0.14393.0”的SDK。 搜索目标为“Windows 8.1”的SDK。 ResolvedKreference: 正在阅读SDK清单文件“C:\Program Files(x86)\Microsoft SDK\Windows Kits\10\ExtensionSDKs\MSTestFramework.Universal\14.0\SDKManifest.xml”。 目标配置和体系结构“零售| x86” 在SDK清单中未找到FrameworkIdentity属性,将此SDK视为非框架SDK。 在SDK清单中未找到指示应用程序包位置的“APPX”属性。如果在运行时需要应用程序包,则项目可能无法运行。 正在阅读SDK清单文件“C:\Program Files(x86)\Microsoft SDK\Windows Kits\10\ExtensionSDKs\TestPlatform.Universal\14.0\SDKManifest.xml”。 目标配置和体系结构“零售| x86” 在SDK清单中未找到FrameworkIdentity属性,将此SDK视为非框架SDK。 在SDK清单中未找到指示应用程序包位置的“APPX”属性。如果在运行时需要应用程序包,则项目可能无法运行。 ExpandsDkreference: 从“C:\Program Files(x86)\Microsoft SDK\Windows Kits\10\ExtensionSDKs\MSTestFramework.Universal\14.0\”枚举SDK引用“MSTestFramework.Universal,Version=14.0”。 添加引用“References\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AppContainer.dll”。 添加引用“References\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.UnitTestFramework.dll”。 从Redist文件夹添加文件“Redist\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.Extensions.MSAppContainerAdapter.dll”,目标路径为“Microsoft.VisualStudio.TestPlatform.Extensions.MSAppContainerAdapter.dll”。 从“C:\Program Files(x86)\Microsoft SDK\Windows Kits\10\ExtensionSDKs\TestPlatform.Universal\14.0\”枚举SDK引用“TestPlatform.Universal,Version=14.0”。 添加引用“References\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.TestExecutor.Core.dll”。 正在从Redist文件夹添加文件“Redist\CommonConfiguration\x86\vstest.executionengine.WindowsPhone.dll”,目标路径为“vstest.executionengine.WindowsPhone.dll”。 从Redist文件夹添加文件“Redist\CommonConfiguration\x86\vstest\U executionengine\U platformbridge.dll”,目标路径为“vstest\U executionengine\U platformbridge.dll”。 从Redist文件夹添加文件“Redist\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.Common.dll”,目标路径为“Microsoft.VisualStudio.TestPlatform.Common.dll”。 从Redist文件夹添加文件“Redist\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.Core.dll”,目标路径为“Microsoft.VisualStudio.TestPlatform.Core.dll”。 从Redist文件夹添加文件“Redist\CommonConfiguration\neutral\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll”,目标路径为“Microsoft.VisualStudio.TestPlatform.ObjectModel.dll”。 从Redist文件夹添加文件“Redist\CommonConfiguration\neutral\vstest\U executionengine\U platformbridge.winmd”,目标路径为“vstest\U executionengine\U platformbridge.winmd”。 C:\Program Files(x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(140,5):错误:您的project.json未将“win10”列为目标运行时。您应该在project.json的“runtimes”部分中添加“'win10”:{}”,然后 然后重新运行NuGet restore

这里是项目的project.json(它们目前都是相同的,因为我已经将核心的所有依赖性添加到单元测试项目中)


要在命令行中重新创建Visual Studio可以成功完成的生成,请参阅中的说明以查看VS使用的命令


快速摘要:将生成输出详细信息设置为“诊断”要在命令行重新创建Visual Studio可以成功完成的生成,请参阅中的说明以查看VS使用的命令


快速总结:将生成输出详细信息设置为“诊断”

为什么从命令行生成?它们都是在VS中构建的吗?它们都是在VS中构建的。我需要为此设置一个Jenkins作业。因此,我想先运行单元测试项目,如果成功,Jenkins应该开始完整的工作files@StuartSmith我在问题中加了一个,但只有一个,因为在将核心的所有依赖项添加到UnitTest项目后,它们是相同的。@TitusMoldovan您找到解决此问题的方法了吗?我在命令行中面对的是同一栋大楼?它们都是在VS中构建的吗?它们都是在VS中构建的。我需要为此设置一个Jenkins作业。因此,我想先运行单元测试项目,如果成功,Jenkins应该开始完整的工作files@StuartSmith我在问题中加了一个,但只有一个,因为在将核心的所有依赖项添加到UnitTest项目后,它们是相同的。@TitusMoldovan您找到解决此问题的方法了吗?我也面临同样的问题
{
  "dependencies": {
    "CommonServiceLocator": "1.3.0",
    "HockeySDK.UWP": "4.1.6",
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2",
    "Microsoft.Xaml.Behaviors.Uwp.Managed": "2.0.0",
    "MvvmLight": "5.3.0",
    "MvvmLightLibs": "5.3.0",
    "Newtonsoft.Json": "9.0.1",
    "System.Reactive": "3.1.1"
  }, "frameworks": {
    "uap10.0": {}
  },
  "runtimes": {
    "win10-arm": {},
    "win10-arm-aot": {},
    "win10-x86": {},
    "win10-x86-aot": {},
    "win10-x64": {},
    "win10-x64-aot": {}
  }
}