我试图添加一个完整的框架类库作为对asp.net core 2.0 MVC项目的项目引用,并得到以下错误。

Project XYZ is not compatible with netcoreapp2.0 (.NETCoreApp,Version=v2.0).
Project XYZ supports: net462 (.NETFramework,Version=v4.6.2)

我已经更新到Visual Studio的最新版本,即15.3.5。
甚至可以在核心2.0项目中引用4.6.2库吗?

最佳答案

您可以尝试的第一件事是将要使用的库编译为netstandard2.0
理论上(根据.net standard documentation),这将使其与使用net461和更高版本以及netcoreapp2.0和更高版本的项目兼容。
在实践中,有时您会遇到一个问题,那就是您的一个依赖项无法在不同的编译目标之间提供相同的库版本。

在这种情况下,您可能只需要添加.net core 2.0作为XYZ库的目标框架。
列出目标的xml标记在XYZ.csproj文件中为<TargetFrameworks>,并且不由项目属性的Gui处理。
因此,我将尝试手动编辑XYZ.csproj,并使用netcoreapp2.0添加或替换<TargetFrameworks>列出的内容。
如果要将其添加为其他目标,则需要将其用';'分隔。如

<TargetFrameworks>net462;netstandard2.0;netcoreapp2.0</TargetFrameworks>

有关此内容的更多详细信息,请参见Microsoft doc
请记住,这将触发多个编译,因此会减慢您的构建速度。

关于asp.net - 项目与netcoreapp2.0不兼容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46430056/

10-17 01:44