.net - 面向 .NET 4.6.x 的 ASP.NET Core 1.0.1 应用程序

标签 .net entity-framework asp.net-core entity-framework-6 .net-core

今天,我决定使用 Visual Studio 2017 RC Empty 模板创建一个新的 ASP.NET Core 1.0.1 应用程序。应用程序运行并且一切顺利。请注意,这是我第一次使用全新的 .NET Core。

然后我决定使用 EntityFramework 6.x 而不是 EF Core,因为我必须使用 Oracle 而不是 SQL Server。不幸的是,我花了几个小时查看文档、博客文章和 StackOverflow 问题,但仍然无法让它工作。

据我所知,ASP.NET Core 从一个 project.json 文件开始,该文件随后被弃用(如果我错了,请纠正我......)以及所有文档和在线内容似乎提出了使用此文件的解决方案。

因此:

  1. 面向 .NET 框架的多个版本(核心和 4.6.x)既然project.json已经消失了,仍然可能吗?如果是这样,怎么办?
  2. 我仍然可以使用project.json吗?!

更新:

我面临的一些问题如下:

  • 我创建了一个名为“Shared”的类库。该项目的类型是.NET Standard。我在 ASP.NET Core 应用程序中引用了它,并且运行良好。然后我从面向 .NET 4.5.2 的 Web 应用程序引用它,并收到此错误:Project Shared 与 net452 (.NETFramework,Version=v4.5.2)/win7-x86 不兼容。项目共享支持:netstandard1.4 (.NETStandard,Version=v1.4)
  • 我尝试将 EntityFramework 6.x Nuget 包安装到 ASP.NET Core 应用程序中,但收到此错误:一个或多个包与 .NETCoreApp,Version=v1.0 不兼容。

我想如果有人能指出我在哪里阅读可靠/最新文档的正确方向,那就太好了。我需要了解发生了什么以及为什么会发生这样的事情,这样我才能从那里开始采取行动。

最佳答案

Is targeting multiple versions of the .NET framework (Core and 4.6.x) still possible now that the project.json is gone? If so, how?

您可以在csproj中指定多个版本,如下所示-

示例1:

<TargetFrameworks>netcoreapp1.0;net452</TargetFrameworks>

示例2:

<TargetFrameworks>netcoreapp1.1;net462</TargetFrameworks>

引用Cross-targeting部分。

Can I still use the project.json anyway?

您可以使用 dotnet migrate 命令轻松迁移。此命令从现有的project.json 生成完全相同的csproj 文件。

引用Project Migration部分。

关于.net - 面向 .NET 4.6.x 的 ASP.NET Core 1.0.1 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41492917/

相关文章:

c# - 为 2 个不同的外部应用程序创建 2 组 .Net C# 插件,这些应用程序具有相同的 API(命名空间除外)

c# - Azure AD 401 错误 - 从 Angular 客户端进行身份验证

c# - IdentityDbContext 不从我的数据库初始值设定项调用种子方法

无需在 IIS 上发布即可调试 ASP.NET Core 应用程序

c# - 使用 struct 强制验证内置类型的优缺点

c# - 如何将方法名称传递给另一个方法并通过委托(delegate)变量调用它?

c# - Linq any - 如何选择

c# - EF6 尝试在运行时创建表,但没有挂起的更改

c# - 将 asp.net core 独立 Web 应用程序部署到 Ubuntu。 appsettings.json 中存在的数据库名称为空

c# - 无法使用 Azure Cosmos DB 连接到 Mongo DB