【发布时间】:2018-12-06 13:28:10
【问题描述】:
是否可以在使用 ASP.NET Core 2.1 的同时仍然在完整的 .NET Framework 4.7.1 上运行?
我目前在 .NET 4.7.1 上使用 ASP.NET Core 2.0,我还在 4.7.1 上使用 Azure Functions v1,并在 Functions 和 Web 项目之间共享类库。
考虑到 Azure Functions v2 的当前状态,升级到 Azure Functions v2 以全面使用 .NET Core 似乎有点太冒险了,所以我现在更愿意继续使用 .NET Framework。
【问题讨论】:
-
是的。在 VS 中,当您创建一个新项目时,您可以选择您的框架。可以手动编辑 csproj,但通常更容易创建新项目并复制源代码。
-
您是否考虑过将共享类放入 .NET Standard 2.0 based projects 中,这些类可在基于 .NET Core 2.1 和 .NET 4.7.1 的项目之间共享?
-
@SixtoSaez 我确实做到了,但是我有实体框架核心之类的依赖项,当我想在 .net 标准 2.0 项目中构建 dbcontext 时,这失败了,因为我必须选择一个运行时才能使脚手架工具工作。在另一个项目中搭建脚手架并将生成的代码移动到 .net 标准项目对我来说似乎有点 hack。我也不确定在共享类库中使用文档 db.core 以及在 azure 函数项目中使用它们时会产生什么影响。我担心这会成为地狱的入口
-
@SixtoSaez 特别是 DocumentDb 依赖项是此场景中的关键,因为我无法在 Azure Functions V1 项目中使用 DocumentDb.Core 包,因为它们都包含相同命名空间中的相同类型。
-
没问题,我的评论更多是针对业务逻辑封装,而不是像 EF 和 DI 这样的基础框架。
标签: .net asp.net-core .net-core azure-functions asp.net-core-2.1