Dependencies 未相应地添加Nuget依赖项

Dependencies 未相应地添加Nuget依赖项,dependencies,nuget,Dependencies,Nuget,我有一个名为“包a”的nuget包。包A正在使用名为Newtonsoft.Json的包 当我的包裹打包时,nuspec看起来像这样 <package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> <metadata> <RedactedGeneralInfo> <dependencies> <dependen

我有一个名为“包a”的nuget包。包A正在使用名为Newtonsoft.Json的包

当我的包裹打包时,nuspec看起来像这样

<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
   <metadata>
      <RedactedGeneralInfo>
      <dependencies>
         <dependency id="Newtonsoft.Json" version="10.0.3" />
      </dependencies>
   </metadata>
</package>

将包A安装到我的项目后,其packages.config如下所示

<packages>
    <package id="mycompany.productname.packageA" version="8.3.0.4" targetFramework="net461"/>
    <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461"/>
</packages>

一切看起来都很好。我下载了我的软件包a,它注意到我对newtonsoft有依赖性,因此它也将newtonsoft添加到我的软件包中

但是,当我查看我的项目引用时,我只看到作为引用添加的“mycompany.productname.packageA”。缺少项目中预期的“Newtonsoft.Json”引用

一般来说,Newtonsoft在项目中也不存在。当我构建我的项目时,它编译时没有任何错误,但是在应该使用newtonsoft的第一行代码中,会抛出一个错误,因为我的项目没有对newtonsoft.json.dll的引用

我做错了什么,或者我应该做些什么来确保我得到正确的参考

我已经试过什么了?:

使用my.nuspec文件直接将newtonsoft.json.dll添加到packageA。这在一定程度上起作用,因为它确实确保我有一个对newtonsoft.json.dll的引用。但是,我得到的引用是“./packages/packageA/newtonsoft.json.dll”(硬引用),而不是“./packages/newtonsoft.json/newtonsoft.json.dll”(软引用,我可以独立于包a更新newtonsoft)

注意:手动添加引用或在另一个包中包含引用不是我想要的结果

期望的结果(1/4已经发生,我现在只需要5个):

  • 项目B下载软件包A
  • project B notices packageA引用了newtonsoft.json包
  • 项目B下载newtonsoft.json包
  • 项目B添加对packageA.dll的引用
  • 项目B添加了对newtonsoft.json.dll的引用