【发布时间】:2018-03-22 04:43:26
【问题描述】:
我正在尝试使用 Cake 构建一个 UWP 应用程序(使用 VS2017 创建)。 我在构建阶段遇到了几个“无法加载文件或程序集 System.Private.CoreLib....”异常。
重现步骤: 在 ./src 目录下的 VS2017 中创建名为“Example”的 UWP 应用,并使用以下蛋糕脚本构建:
#tool nuget:?package=NUnit.ConsoleRunner&version=3.4.0
var target = Argument("target", "default");
var configuration = Argument("configuration", "Release");
var buildDir = Directory("./src/Example/bin") + Directory(configuration);
Task("Clean")
.Does(() =>
{
CleanDirectory(buildDir);
});
Task("Restore-NuGet-Packages")
.IsDependentOn("Clean")
.Does(() =>
{
NuGetRestore("./src/Example.sln");
});
Task("Build")
.IsDependentOn("Restore-NuGet-Packages")
.Does(() =>
{
if(IsRunningOnWindows())
{
MSBuild("./src/Example.sln", settings =>
settings.SetConfiguration(configuration));
}
});
Task("Default")
.IsDependentOn("Build");
RunTarget(target);
//更新:
构建阶段的前几条日志语句:
Executing task: Build
Executing: "C:/Program Files (x86)/Microsoft Visual
Studio/2017/Community/MSBuild/15.0/Bin/amd64/MSBuild.exe" /v:normal /p:Configuration="Release" /target:Build "C:/Users/jannik/Documents/Visual Studio 2017/Projects/example/src/Example.sln
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
第一个错误如下所示:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(1254,5): error MSB3816: Loading assembly "C:\Users\jannik\.nuget\packages\runtime. Private.Uri\4.0.2\runtimes\aot\lib\netcore50\System.Private.Uri.dll" failed. System.IO.FileNotFoundException: Could not load file or assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7 r one of its dependencies. The system cannot find the file specified.\r [C:\Users\jannik\Documents\Visual Studio 2017\Projects\example\src\Example\Example.csproj]
【问题讨论】:
-
如果您使用诊断详细信息启动 Cake,您能看到它使用的是 MSBuild 15.x 吗? stackoverflow.com/a/38658796/5883153
-
y 它似乎使用 MSBuild 15
标签: visual-studio uwp cakebuild