被视为子依赖项的 Nuget 包依赖项失去版本约束
Nuget package dependency being treated as sub depedency looses version constraint
假设我创建了一个新的 class 库项目。我将 Entity Framework 6.1 NuGet 包添加到其中,然后使用 nuget pack MyProject.csproj
从 class 库项目创建一个新的 NuGet 包。我得到了一个很好的 npkg,它依赖于 Entity Framework 6.1.
然后,我决定添加对 GraphDiff NuGet 包的引用,该包依赖于 EntityFramework >= 6.0,生成的 class 库npkg 仅依赖于 GraphDiff 并注意它可能具有子依赖性,但与 Entity Framework 尤其是版本 6.1 无关。
当我将 class 库 npkg 包含到项目中时出现问题:Entity Framework 6.0 在应该安装的时候安装了 6.1.
有办法解决这个问题吗?
我用 NuGet.exe 2.8.50926.602
得到这个
我发现我必须使用 nuspec 文件并手动指定依赖项部分,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<package>
<metadata>
**snip!!**
<dependencies>
<dependency id="EntityFramework" version="6.1.2" />
</dependencies>
</metadata>
</package>
我无法使用 nuget 项目的 packages.config 文件更改任何内容。
的版本依赖性有一些有价值的信息
假设我创建了一个新的 class 库项目。我将 Entity Framework 6.1 NuGet 包添加到其中,然后使用 nuget pack MyProject.csproj
从 class 库项目创建一个新的 NuGet 包。我得到了一个很好的 npkg,它依赖于 Entity Framework 6.1.
然后,我决定添加对 GraphDiff NuGet 包的引用,该包依赖于 EntityFramework >= 6.0,生成的 class 库npkg 仅依赖于 GraphDiff 并注意它可能具有子依赖性,但与 Entity Framework 尤其是版本 6.1 无关。
当我将 class 库 npkg 包含到项目中时出现问题:Entity Framework 6.0 在应该安装的时候安装了 6.1.
有办法解决这个问题吗?
我用 NuGet.exe 2.8.50926.602
得到这个我发现我必须使用 nuspec 文件并手动指定依赖项部分,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<package>
<metadata>
**snip!!**
<dependencies>
<dependency id="EntityFramework" version="6.1.2" />
</dependencies>
</metadata>
</package>
我无法使用 nuget 项目的 packages.config 文件更改任何内容。
的版本依赖性有一些有价值的信息