.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