gpt4 book ai didi

cakebuild - Cake NuGetRestore 总是想要 MSBuild14?

转载 作者:行者123 更新时间:2023-12-04 14:55:27 26 4
gpt4 key购买 nike

当我试图在一台只知道 Visual Studio 2017 的机器上安装一个使用 Cake v0.19.1 构建的解决方案时,我似乎无法得到 NuGetRestore接受 MSBuildVersion = NuGetMSBuildVersion.MSBuild15 的设置.

将特定的 MSBuild 版本放入 NuGetRestore 是否有一些神奇的步骤?我失踪了吗?

输出

...

========================================
RestoreNuGet
========================================
Executing task: RestoreNuGet
Failed to load msbuild Toolset
Could not load file or assembly 'Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
An error occurred when executing task 'RestoreNuGet'.
Error: NuGet: Process returned an error (exit code 1).

精简版 build.cake
var target = Argument("target", "Default");
var solution = "./some-random.sln";

Task("Default")
.Does(() => {
NuGetRestore(
solution,
new NuGetRestoreSettings {
MSBuildVersion = NuGetMSBuildVersion.MSBuild15,
}
);
});

RunTarget(target);

更新:获取 NuGet v4

@devlead's answer ,我将 build.ps1 文件指向 NuGet 的 v4.0.0 并得到了这个输出。
Cannot find the specified version of msbuild: '15'
An error occurred when executing task 'RestoreNuGet'.
Error: NuGet: Process returned an error (exit code 1).

在我的完整 build.cake 中,我使用 vswhere以后用 MSBuildSettings我可以转储它找到的 MSBuild 路径(并且我确认 exe 存在于资源管理器中)。
C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/MSBuild/15.0/Bin/amd64/MSBuild.exe

最佳答案

您可以尝试将 MSBuild 别名与还原目标一起使用,最新版本的 MSBuild 应该在 NuGet 支持中构建。

MSBuild(
"./some.sln",
configurator => configurator.WithTarget("restore"));

关于cakebuild - Cake NuGetRestore 总是想要 MSBuild14?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com