.NET Core 5.0程序集可以使用面向.NET Framework 4.8的程序集吗?

问题描述

我的C#程序集当前都以.NET Core 3.1为目标。它们都使用针对.NET Framework 4.8的C ++ / CLI程序集(称为“ MySdk”)。效果很好。

今天,我尝试将C#程序集更新为.NET 5.0。突然之间,他们甚至都没有看到已经构建并坐在那里的.NET FW 4.8“ MySdk”程序集。构建过程给我这样的输出:

> 2>------ Build started: Project: MyApp.Core,Configuration: Debug x64
> ------ 2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2123,5):
> warning MSB3245: Could not resolve this reference. Could not locate
> the assembly "MySdk". Check to make sure the assembly exists on disk.
> If this reference is required by your code,you may get compilation
> errors.

显而易见的解决方案是将C ++ / CLI程序集更新为.NET5。我想尽快这样做,尽管我不知道是否可能。

但是让我们假设这不是当前的选择。 .NET 5程序集使用.NET FW 4.8程序集甚至有效吗?应该行吗?还有什么我可以做的让我的.NET 5程序集看到并使用这个东西?

解决方法

我困惑的原因竟然如此愚蠢,以至于我不好意思发表。但是,如果其他人犯了与我相同的错误,我会这样做。

当您将.NET Core 3.1应用程序更新为.NET 5.0时,默认的生成输出子文件夹将从“ netcoreapp3.1”更改为“ net5.0-windows”。但是我复制了单独构建的C ++ / CLI程序集的构建脚本正在将其复制到.NET Core 3.1的旧子文件夹(“ netcoreapp3.1”)。

换句话说,它与兼容性无关。程序集被复制到错误的位置

所以我的问题的答案是“是”。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...