在我工作的团队中,我们依赖于两个NuGet feeds:NuGet.org上的官方公共包和我们文件服务器上的内部包文件夹。
这对我们来说效果很好,但我认为我们存在一个潜在问题。看起来NuGet根据包名称和版本号解析依赖项。只有一个feed时,这似乎不是问题。但有多个feed时,存在名称冲突的风险。根据NuGet的解析规则,它将选择最高版本号的包,而不管其来源。
这让我们有点为难。虽然不太可能发生,但如果有人在NuGet.org feed上发布了与我们内部feed上的某个包具有相同名称的包,我们可能会包含一个意外的包。
我能想到两种解决方法:
1)将我们所依赖的包拉入我们的私有feed中。虽然这是可行的,但由于需要不断下载包更新到我们的私有feed中,因此并不是非常吸引人。
2)通过NuGet.org feed发布一个占位符包以保留包名称。这似乎可以解决问题,但感觉像是一个hack。
有更好的方法吗?
感谢您的帮助!
这对我们来说效果很好,但我认为我们存在一个潜在问题。看起来NuGet根据包名称和版本号解析依赖项。只有一个feed时,这似乎不是问题。但有多个feed时,存在名称冲突的风险。根据NuGet的解析规则,它将选择最高版本号的包,而不管其来源。
这让我们有点为难。虽然不太可能发生,但如果有人在NuGet.org feed上发布了与我们内部feed上的某个包具有相同名称的包,我们可能会包含一个意外的包。
我能想到两种解决方法:
1)将我们所依赖的包拉入我们的私有feed中。虽然这是可行的,但由于需要不断下载包更新到我们的私有feed中,因此并不是非常吸引人。
2)通过NuGet.org feed发布一个占位符包以保留包名称。这似乎可以解决问题,但感觉像是一个hack。
有更好的方法吗?
感谢您的帮助!