【问题标题】:.Net Framework dependencies in .Net Core 1.1 project.Net Core 1.1 项目中的 .Net Framework 依赖项
【发布时间】:2017-08-16 09:50:09
【问题描述】:

我正在使用 Visual Studio 2017。创建了一个 .Net Core Web 应用程序项目。我正在尝试添加一个 .Net Framework 4.5 依赖项并获得以下信息:

Package X.Y.Z 1.2.0-pre-000394 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package X.Y.Z 1.2.0-pre-000394 supports: net (.NETFramework,Version=v0.0)
Package Microsoft.AspNet.WebApi.Client 5.2.3 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Microsoft.AspNet.WebApi.Client 5.2.3 supports:
  - net45 (.NETFramework,Version=v4.5)

我对使用 VS 2017 和 .Net Core 1.1.1 是否真的可行感到困惑。有没有办法让这个工作?

【问题讨论】:

  • 主要问题是我选择了错误的项目模板。当我应该使用 ASP.NET Core Web 应用程序 (.NET Framework) 模板时,我使用了 ASP.NET Core Web 应用程序 (.NET Core) 模板。我需要后者,因为我需要与 Windows 平台中的 .NET Framework 依赖项进行交互。

标签: asp.net-web-api .net-core visual-studio-2017


【解决方案1】:

检查包所针对的框架,并检查您的项目所针对的框架。正如您从我最近的question 中看到的那样,各种框架以及在什么情况下使用什么项目类型之间存在很多混淆。

第一个包 (X.Y.Z) 似乎针对的是完整的框架,虽然目前还不清楚,因为似乎没有合适的版本 (.NETFramework,Version=v0.0)。

Microsoft.AspNet.WebApi.Client 显然是为完整的 .NET Framework 4.5 构建的,您不能在 .NET Core 应用程序中使用它。我上面链接的问题的答案解释了原因;如果要在不同类型的框架运行时(例如 .NET Framework、.NET Core、Mono)中使用可移植库,它们需要以 .NET Standard 为目标。为特定框架构建的东西不会自动移植到其他框架。

有关兼容性的信息,请参阅this chart。

【讨论】:

    猜你喜欢
    • 2020-02-14
    • 2020-07-08
    • 2016-11-26
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多