本机NuGet软件包安装失败

时间:2019-08-11 14:58:17

标签: c# c++ visual-studio-2017 nuget

我创建了两个NuGet包:一个本机(C ++)NuGet包和一个依赖于前一个的常规.NET NuGet包;并将它们都部署到内部的NuGet存储库中。
然后,我创建了一个测试.NET项目,并成功安装了领先的.NET软件包,而PM也安装了本机软件包。

接下来,我尝试将.NET软件包安装到实际的消费者.NET项目中,并且安装失败,并显示错误消息:

  

无法安装软件包“ Native 1.0.0”。您正在尝试将此软件包安装到目标.NETFramework,Version = v4.7.1的项目中,但是该软件包不包含任何与该框架兼容的程序集引用或内容文件。

两个项目(测试/成功和产品/失败)的确确实以 .NET v4.7.1 为目标,都以 AnyCPU 为目标,并且都使用相同的工具集。

<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Exe</OutputType>
    <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>

我不知道为什么安装软件包会在产品项目中导致上述错误。

预先感谢大家的帮助。

1 个答案:

答案 0 :(得分:1)

  

然后我创建了一个测试.NET项目并成功安装了潜在客户   .NET软件包,而PM也会安装本机软件包。

     

接下来,我尝试将.NET软件包安装到实际的使用者.NET中   项目,并且安装失败并显示错误消息:

在线上有许多解决此类杂物the package does not contain any assembly references or content files that are compatible with that framework的方法。对于您的特定问题,由于一个成功,所以另一个不成功:

  1. 我建议clean the nuget cache,然后再进行其他检查。原因在您安装或还原nuget pakcages时,它将首先尝试在缓存中找到它。类似的问题,请参见this

  2. 然后确保同一解决方案中的所有项目都使用相同的方式来管理nuget包。 (所有PackageReference或所有package.config)。对于VS217及更高版本,更推荐使用packageReference :)类似的问题,请参见this