【问题标题】:Installing a netstandard package to .NET Core将 netstandard 包安装到 .NET Core
【发布时间】:2019-03-27 20:55:15
【问题描述】:

NuGet 上的库 Google.Apis 声明如下:

支持的平台:

  • .NET Framework 4.5+
  • NetStandard1.3,提供 .NET Core 支持

但是,dotnet add package Google.Apis 命令告诉我error: Package 'Google.Apis' is incompatible with 'all' frameworks in project '/home/pavel/[...]/api.csproj'.

这是正在使用的 csproj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
    <Folder Include="Utils\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" />
  </ItemGroup>
</Project>

如何安装包?

【问题讨论】:

  • dotnet new console 后跟 dotnet add package Google.Apis 为我工作。对我来说,这表明您的api.csproj 具有不兼容的TargetFramework,正如错误消息所述。我们需要更多信息。
  • @zivkan 我使用 netcoreapp2.2 作为目标框架,这也是dotnet new console 的默认框架,但我现在已将 csproj 文件包含在问题中。
  • 尝试在另一个PackageReference 之后添加&lt;PackageReference Include="Google.Apis" Version="1.38.0" /&gt;,然后运行dotnet restore。如果仍然无法将-v diag &gt; restore.txt 添加到末尾并附加还原日志会有所帮助。
  • 日志显示您没有任何来源。检查您的nuget.config 以确保它在不添加源的情况下不会&lt;clear /&gt;。这导致与您最初在上面报告的错误不同。

标签: .net .net-core nuget


【解决方案1】:

正如问题的 cmets 中所讨论的,这是由于删除了所有来源的 nuget.config 文件引起的。当我在本地机器上重现该场景时,这是完整的输出:

  Writing /tmp/tmpd4dcSu.tmp
info : Adding PackageReference for package 'Google.Apis' into project '/home/zivkan/apiTest/apiTest.csproj'.
log  : Restoring packages for /home/zivkan/apiTest/apiTest.csproj...
error: Unable to resolve 'Google.Apis ' for '.NETCoreApp,Version=v2.1'.
error: Package 'Google.Apis' is incompatible with 'all' frameworks in project '/home/zivkan/apiTest/apiTest.csproj'.

您在问题中报告的第二条错误消息非常具有误导性。但是,第一条错误消息“无法解决”很好地暗示了 NuGet 无法找到包。

【讨论】:

    猜你喜欢
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    相关资源
    最近更新 更多