为什么在解决方案文件夹中不恢复同一nupkg的不同版本?

时间:2018-04-13 00:49:36

标签: windows uwp nuget

在我的解决方案中,我有两个项目,一个引用nuget包v1.0,另一个引用相同的nuget包v2.0。

在MyProject.nuget.props中,我看到了:

$(用户配置).nuget \包\

当我运行命令" nuget restore"它应该将两个版本恢复到上面的位置:$(UserProfile).nuget \ packages \,实际上它确实如此。然后还恢复到我的项目文件夹/包。但我发现在恢复之后,我的项目文件夹/包下只有v1.0,因此项目引用v2.0无法正确构建。

我们可以在同一个解决方案中为两个项目引用同一个包的两个不同版本吗?

1 个答案:

答案 0 :(得分:1)

  

为什么在解决方案文件夹中没有恢复同一nupkg的不同版本?

这取决于您的项目packages.configpackages.jsonPackageReference使用的nuget管理方法。

packages.config的默认nuget packages文件夹位于解决方案文件夹packages

packages.jsonPackageReference的默认nuget包文件夹是全局包$(UserProfile).nuget\packages\

所以你的win32项目应该使用packages.config,而UWP项目应该使用PackageReference

注意:检查PackageReference,编辑项目文件.csproj,您将找到以下代码:

  <ItemGroup>
    <PackageReference Include="xxxx" Version="x.x.x" />
  </ItemGroup>
  

我们可以在同一个包中引用同一个包的两个不同版本   两个项目的解决方案?

是的,您可以使用相同的nuget管理方法创建两个项目。