gpt4 book ai didi

VS2017的MSBuild无法编译.NET Standard 2.0项目

转载 作者:行者123 更新时间:2023-12-02 16:05:35 26 4
gpt4 key购买 nike

我有一个面向 .NET Framework 4.6.1 和 .NET Standard 2.0 的 csproj。

可以在我的本地计算机上使用 Visual Studio 2017 (v15.3.2) 进行编译

现在我正在设置我们的构建服务器(Jenkins)以包含该项目。我们的构建服务器适用于其他 .NET Framework 4.6.1 项目。

首先,我将工具链从本地计算机 ( C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\ ) 复制到构建服务器。

然后我将 Jenkins 配置为使用 MSBuild v15.3.409.57025,该版本是从 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe 复制的。

但是编译时会出现以下错误

C:\Program Files (x86)\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(126,5): error : The current .NET SDK does not support targeting .NET Standard 2.0. Either target .NET Standard 1.6 or lower, or use a version of the .NET SDK that supports .NET Standard 2.0.

文件Microsoft.NET.TargetFrameworkInference.targets也是从我的本地机器复制的 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets 。我在本地计算机中检查了其内容,并看到下面一行。


<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

ToolsVersion仍然是14.0在我的 VS2017 目录中?

有谁知道怎么解决吗?

谢谢

最佳答案

您还需要安装 .NET Core 2.0.0 SDK,因为 VS 安装仅包含 1.1.0 任务和目标,并查找与当前 msbuild 版本兼容的其他已安装版本(或者项目中有一个 global.json 文件固定了不同的版本)。

关于VS2017的MSBuild无法编译.NET Standard 2.0项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45979627/

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