【发布时间】:2019-09-04 19:56:01
【问题描述】:
我有一个使用 CORE RAZOR PAGES Web 项目和两个 .net 标准 2.0 类库完成的项目。一个是基础设施类,而不是我的 DbContext。
所以有人告诉我,我需要将 .NET Framework Classic 用于 Web 界面而不是核心。由于 .NET Framework 4.7.2 和 .NET core 2.2 对 .NET 标准 2.0 有效,我想我可以有一个新的 Web 项目,但保留两个类库。
所以我引用了这两个类库并使用控制台运行'update-database'。启动项目是 .NET Framework MVC 项目,“默认项目”是 .NET 标准 2.0 类库。但我得到了错误
您的启动项目“Sr.RazorFrame”未引用 Microsoft.EntityFrameworkCore.Design。此包是 Entity Framework Core Tools 工作所必需的。确保您的启动项目正确,安装包,然后重试。
所以它是说我的项目需要一个 CORE Nuget 包,但我不能这样做,因为它是 .NET Framework……我很困惑……所以有 Microsoft.EntityFrameworkCore.Design for STANDARD 吗?
【问题讨论】:
-
我认为您不能在 .net 框架项目中引用核心 dll。您需要该 dll 的两个版本,一个用于核心,一个用于 .net 框架。
-
那么有 .net 2.0 标准版吗?或者我想这没有意义......也许简单的方法是使用核心项目创建架构和种子,然后切换到 .NET Framework 项目来使用它?
-
仅仅因为一个包的名字中有 Core 并不一定意味着它以 .NET Core 为目标,甚至支持 .NET Core。
-
我认为您不能在 .net 框架应用程序中引用核心程序集,反之亦然。这可能是可能的,但你会有限制。您可能会在参考旁边看到黄色三角形。创建一个新的控制台应用程序,您会看到有两个选项,控制台应用程序(.Net Core)和控制台应用程序(.Net Framework)。
标签: c# asp.net-mvc entity-framework asp.net-core .net-standard-2.0