ASP.NET Core解决方案是否可以包含具有不同目标框架的项目? [英] Is it possible to have an ASP.NET Core solution contain projects with different target frameworks?

查看:46
本文介绍了ASP.NET Core解决方案是否可以包含具有不同目标框架的项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

像这样:

一个解决方案(我想这一定是ASP.NET Core吗?)

One solution (I assume this must be ASP.NET Core?)

  • 项目1.目标框架是.NET Core 2.1
  • 项目2.目标框架是.NET Framework 4.5.1.处理数据访问的类库.我要问的原因是Project 2包含遗留依赖项,我们目前没有时间进行迁移.

推荐答案

是的,只要您不打算在非Windows环境中托管,就可以.

Yes, you can as long as you do not plan to host in non-windows environment.

但是,ASP.NET Core 2.1应用程序必须 target .NET Framework4.6.1或更高版本,尽管它仍然可以 引用 .NET Framework 4.5.1类库.

However, ASP.NET Core 2.1 app must target .NET Framework 4.6.1 or above although it can still reference .NET Framework 4.5.1 class library.

(单击图像可全屏查看)

如果要切换目标框架,只需修改 .csproj 文件.

If you want to switch the target framework, you just modify .csproj file.

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>
</Project>

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
</Project>

注意:您无法轻松地来回切换它.每次切换时,都必须还原NuGet软件包.

第二个选项 是ASP.NET Core 2.1应用程序目标 .NET Core 2.1,仍然是引用 .NET框架4.5.1类库.

2nd option is ASP.NET Core 2.1 app targets .NET Core 2.1 and still references .NET Framework 4.5.1 class library.

我更喜欢此选项,因为当您以后将类库重写为目标.NET Standard或.NET Core时,无需更改ASP.NET应用程序的任何内容.

这篇关于ASP.NET Core解决方案是否可以包含具有不同目标框架的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆