dll文件依赖关系与nuget包引用相混淆



我们的团队提供了多个nuget SDK供用户参考。我们创建的每个nuget文件都将包含自己的项目dll文件及其依赖dll文件。

当用户尝试使用多个nuget-sdk时,这给我们带来了问题。尤其是当这些nuget包含相同dll依赖项的不同版本时。

例如,nuget A包含A.dll。由于依赖项自动解析,nuget B(取决于nuget A(同时包含A.dll和B.dll。如果用户添加了对nuget A和B的引用,并且当.dll中有任何更改时,我们需要更新nuget A与B,并要求我们的用户同时更新到最新的nuget A及B。

当我们拥有的裸体数量增加时,这给我们带来了很多麻烦。每次我们做一些更改时,我们都必须更新我们支持的所有nuget。有没有什么方法可以将一个dll依赖项限制为仅在一个nuget中?然后,当发生更新时,我们只需要更新一个nuget。

感谢

我们创建的每个nuget文件都将包含自己的项目dll文件及其依赖dll文件。

这就是问题所在。每个NuPkg文件应该只包含自己的库,但声明它对其他包的依赖关系。这是打包NuPkg文件时的默认行为,因此推测您在.nuspec文件或.csproj文件中有额外的位来包括依赖库。。。把它们去掉。

一旦每个包只包含自己的库,您就回到了";预期的";情境和客户端应该能够只依赖其中一个,并且工具将通过传递来解决依赖关系。

最新更新