2

在我们的环境中,我们目前有一个嵌套的文件夹结构来保存我们的程序集。例如:\SERVER\Assemblies\SomeCompany\MyRockinAssembly\v1.0.0.0\MyRockinAssembly.dll

出于所有充分的理由,我们正在研究创建 NuGet 包,并希望将它们存储在相同的结构中。因此,我们会将 nupkg 存储在 dll 所在的相同位置:\SERVER\Assemblies\SomeCompany\MyRockinAssembly\v1.0.0.0\MyRockinAssembly.nupkg。

然后我们计划添加一个本地 Intranet 包源并将其指向此目录。但是,包管理器似乎没有搜索嵌套文件夹。如果我将 nupkg 提升到只有 1 级深度,它会起作用,但这会与我们现有的标准相冲突。

有什么方法可以让 nuget 深入搜索所有子文件夹以搜索包?

或者这是对他们团队的功能要求:)

4

1 回答 1

0

NuGet 存储库本质上是一个包含一组 NuGet 包的简单文件夹。您想要的结构无法通过构建这样的文件夹树来实现 AFAIK,除非您在客户端中注册大量存储库,每个存储库都指向此树结构中的特定目录。这对于您的软件包的消费者来说可能会变得非常不方便,更不用说进一步不必要的复杂事情了(在自动构建等中)。

但是,您可以使用包 ID 结构,例如:

CompanyName.ProductSuite.Product.Component.1.0.0.nupkg

至少您的存储库现在将被排序,消费者可以根据此约定过滤/搜索。

您还可以查看MyGet.org (NuGet-as-a-Service),创建多个提要并配置一个通用提要,将您的其他提要作为底层包源。这篇博文详细解释了它的工作原理:http ://blog.myget.org/post/2012/03/01/Introducing-MyGet-package-source-proxy-(beta).aspx

于 2013-01-12T13:00:06.890 回答