.NET Core 2 构建在 .NET Core 3.1 中不起作用

Posted

技术标签:

【中文标题】.NET Core 2 构建在 .NET Core 3.1 中不起作用【英文标题】:.NET Core 2 build is not working in .NET Core 3.1 【发布时间】:2021-10-22 03:26:24 【问题描述】:

全部,

我有一个安装了 .NET Core 2.2.110 的构建服务器。对于我的新应用程序,我需要 .NET Core 3.1。因此,除了 .NET Core 2.2.110 之外,我还安装了 .NET Core 3.1。

当我点击 dotnet --version 我得到 3.1

构建在 .NET Core 3.1 中开发的应用程序时构建工作正常,但以下框架应用程序失败并出现以下错误

找不到导入的项目“C:\Program Files\dotnet\sdk\3.1.100\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets”

我的构建机器上有 2.1 和 3.1,从技术上讲,由 3.1 开发的应用程序应使用 .NET Core 3.1 f/w,由 2.2.110 开发的应用程序应使用 .NET Core 2.2.110。

此外,任何升级后的框架也应该支持以前版本的应用程序,但在我的情况下,它失败了。

请帮帮我

【问题讨论】:

在构建服务器上尝试dotnet add package MSBuild.Microsoft.VisualStudio.Web.targets --version 14.0.0.3 听起来你需要在你的服务器上下载并安装.NET Core Hosting Bundle。 我可以知道您使用的是哪个版本的 Visual Studio 吗? @MdFaridUddinKiron :我没有安装任何 VS,而是在构建机器上安装了 .NET Core 3.1 和 2.2。但是我已经安装了 2.2 应用程序并没有被编译 【参考方案1】:

也许你可以在每个项目中指定目标平台。

添加行: <PropertyGroup><TargetFramework>netcoreapp3.1</TargetFramework>/PropertyGroup> 在您的 .csproj 文件中使用 .Net 3.1 或 netcoreapp2.0 对于 .Net 2 进行编译

【讨论】:

以上是关于.NET Core 2 构建在 .NET Core 3.1 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Docker 构建失败,当前 .NET SDK 不支持面向 .NET Core 2.1

如何在 .NET Core 3.0 SDK 上构建多目标 .NET 5 和 .NET Core 3.1

ASP.NET Core 入门教程 1使用ASP.NET Core 构建第一个Web应用

在 Azure Pipelines 上构建 .NET Core 3.0

ASP.NET Core 入门教程 1使用ASP.NET Core 构建第一个Web应用

奇怪的构建错误 .Net Core 项目