.NET Framework 4.7.2项目如何引用.NET Core 2.2类库?
.NET Framework 4.7.2 Web API引用.NET Core 2.2类库的实现原理
这种场景能实现的核心原因是**.NET Standard的跨框架兼容机制**,具体细节如下:
类库的目标框架配置:你的.NET Core 2.2类库大概率是同时面向
.NET Standard 2.0和.NET Core 2.2编译的(或者直接目标.NET Standard 2.0)。查看类库的.csproj文件,会看到类似配置:<TargetFrameworks>netcoreapp2.2;netstandard2.0</TargetFrameworks>编译后会生成多框架版本的输出,.NET Framework 4.7.2项目会自动识别并引用兼容的
netstandard2.0版本。.NET Framework 4.7.2对.NET Standard的支持:微软在.NET Framework 4.7.2中完整实现了.NET Standard 2.0的规范,只要类库符合.NET Standard 2.0的API范围,就能被.NET Framework 4.7.2直接引用,和引用传统.NET Framework类库的方式完全一致。
注意事项:
- 如果类库使用了.NET Core 2.2专属的API(比如ASP.NET Core特有的
Microsoft.AspNetCore.*组件),在.NET Framework项目中引用时会编译报错,这类代码需要通过条件编译(如#if NETCOREAPP2_2)隔离,或者类库只使用.NET Standard 2.0包含的通用API。 - 引用操作就是常规的项目引用/NuGet引用,Visual Studio会自动处理版本兼容逻辑,不需要额外配置。
- 如果类库使用了.NET Core 2.2专属的API(比如ASP.NET Core特有的
附上你提供的截图:

内容的提问来源于stack exchange,提问作者LNyarla
相关产品推荐
相关产品推荐

