【问题标题】:ASP.NET Core 1.0.1 Application Targeting .NET 4.6.x面向 .NET 4.6.x 的 ASP.NET Core 1.0.1 应用程序
【发布时间】:2017-01-05 19:15:33
【问题描述】:

今天我决定使用 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 框架(Core 和 4.6.x) 现在 project.json 消失了还有可能吗?如果有,怎么做?
  2. 我仍然可以使用 project.json 吗?!

更新:

我面临的一些问题如下:

  • 我创建了一个名为“Shared”的类库。项目的类型是 .NET Standard。我在 ASP.NET Core 应用程序中引用了它,它运行良好。然后我从一个面向 .NET 4.5.2 的 Web 应用程序中引用它,我得到了这个错误:Project Shared is not compatible with net452 (.NETFramework,Version=v4.5.2) / win7-x86. Project Shared supports: netstandard1.4 (.NETStandard,Version=v1.4)
  • 我尝试将 EntityFramework 6.x Nuget 包安装到 ASP.NET Core 应用程序中,但出现此错误:One or more packages are incompatible with .NETCoreApp,Version=v1.0.

我想如果有人会指出我在哪里阅读可靠/最新文档的正确方向,那就太好了。我需要了解这是什么以及为什么会发生这种情况,以便我可以从那里得到它。

【问题讨论】:

  • 你遇到了什么错误?
  • @Mike_G:我得到的错误是“一个或多个包与 .NETCoreApp,Version=v1.0 不兼容。”
  • 题外话:既然你在新版本上尝试了一个新项目,为什么不试试1.1.0版本呢?在主题中:您应该发布您的 project.json 文件,它可能会有所帮助!
  • @kall2sollies:我确实试过了。在创建空项目后,我使用 Nuget 将包更新到最新版本。一旦我这样做了,应用程序就会停止运行:就像控制台应用程序已经运行然后关闭一样。我认为这可能是工具中的一个错误,因为它还不是 Visual Studio 2017 的 RTM 版本。

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


【解决方案1】:

面向多个版本的 .NET 框架(Core 和 4.6.x) 现在 project.json 消失了还有可能吗?如果有,怎么做?

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

示例 1:

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

示例2:

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

请参阅Cross-targeting 部分。

我仍然可以使用 project.json 吗?

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

请参阅Project Migration 部分。

【讨论】:

    猜你喜欢
    • 2016-10-17
    • 2017-09-06
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 2015-10-23
    • 1970-01-01
    相关资源
    最近更新 更多