Nuget包缺少接口

Nuget包缺少接口,nuget,Nuget,我为一个框架创建了一个包,该框架依赖于单个解决方案中的许多项目。我想为框架和解决方案中的各种项目创建nuget包 在Framework.Framework.nuspec中,我声明了以下依赖项: <dependencies> <group> <dependency id="Framework.CompositionRoot" version="1.0" /> <dependency i

我为一个框架创建了一个包,该框架依赖于单个解决方案中的许多项目。我想为框架和解决方案中的各种项目创建nuget包

在Framework.Framework.nuspec中,我声明了以下依赖项:

    <dependencies>
        <group>
            <dependency id="Framework.CompositionRoot" version="1.0" />
            <dependency id="Framework.Services" version="1.0" />
            <dependency id="Framework.Domain" version="1.0" />                              
        </group>
    </dependencies>

在每个项目中,文件都有自己的nuspec文件,例如Framework.CompositionRoot.nuspec,它具有以下依赖项:

    <dependencies>
        <group>
            <dependency id="Super.Services" version="1.0" />
            <dependency id="Super.Data" version="1.0" />
            <dependency id="Super.Domain" version="1.0" />                              
        </group>
    </dependencies>

我的问题是,当我在另一个项目中安装Framework.Framework时,它似乎安装了一些依赖的nuget软件包,但没有安装其他软件包。在本例中,它安装Framework.CompositionRoot和Framework.Services,但不安装Framework.Domain

域在解决方案中有自己的nuspec文件,生成的Framework.Framework.nupkg文件将Framework.Domain显示为依赖项。我在项目中只安装了Framework.Framework,而不是Framework.Domain,因为据我所知,这应该在安装Framework.Framework时安装

当我查看解决方案的引用时,它添加了一个Framework.Domain.dll,但该域中声明的接口有一半丢失。(我已经确保丢失的接口被声明为公共的。)但是,如果我将dll复制/粘贴到lib文件夹并手动引用它,那么所有接口都在那里


任何帮助都将不胜感激。

这是因为nuget默认安装旧版本。虽然在通过包管理器查看时,Framework.Domain不在已安装包的列表中,但它在packages.config中可见,并且具有不包含接口的旧版本。(默认情况下,Nuget install将安装最低版本的依赖项。)

为了解决此问题,我卸载了该软件包,并使用以下标志重新安装:

-DependencyVersion“最高级补丁”