Dropbox .NET SDK 安装失败(一个或多个包与 .NETCoreApp 不兼容,Version=v1.1。)

Dropbox .NET SDK failed to install (One or more packages are incompatible with .NETCoreApp,Version=v1.1.)

我想使用 DropBox SDK(https://github.com/dropbox/dropbox-sdk-dotnet ) 在我的 C# 项目中。

当我使用 NuGet 添加时,出现以下错误:

包Dropbox.Api 4.3.0 与 netcoreapp1.1 (.NETCoreApp,Version=v1.1) 不兼容。包 Dropbox.Api 4.3.0 支持: - net45 (.NETFramework,Version=v4.5) - portable-dnxcore50+net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=net45+wp80+win8+wpa81+dnxcore50) - portable-net40+sl5+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile328) 一个或多个包与 .NETCoreApp 不兼容,Version=v1.1.

大量搜索(包括 Stack Overflow)表明需要在我的 .csproj 文件中添加一个条目。实际上,SDK 说您需要添加一个引用。我已经如下修改我的文件,但我仍然收到错误。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <PackageTargetFallback Condition="'$(TargetFramework)'=='Net45'">portable-net45win8+wp8+wpa81+dnxcore50</PackageTargetFallback>
  </PropertyGroup>
</Project>

非常感谢任何想法。

.NET Core 支持 Dropbox 包的便携版本,但是您的 csproj 文件包含 Condition 不启用包目标回退。你可以将你的 csproj 更改为你发布的片段:

<PropertyGroup>
  <OutputType>Exe</OutputType>
  <TargetFramework>netcoreapp1.1</TargetFramework>
  <PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
</PropertyGroup>

PackageTargetFallback 的值也可以是 portable-net45+win8,就像在 README file on GitHub 上解释的那样。对于即将到来的 .NET Core 2.0,应该不再需要这种回退。