DNX 有哪些查找包的方法?

What are the ways DNX can find packages?

我正在考虑将 DNX 用于一个新项目,并且可以预先告诉我在构建更大的整体过程中将开发多个共享库。

到目前为止,我看到的所有 DNX 示例都使用 NuGet 解析包,这很好,但是还有哪些其他方法可以检索包?我的项目不会发布到 public NuGet,因此我需要一些其他方法来提取依赖项。 Git,文件系统之类的?

您可以设置自己的 nuget 提要,如 nuget 主页所述:

http://docs.nuget.org/create/hosting-your-own-nuget-feeds

您还可以将文件夹添加为来源:

转到工具 -> Nuget 包管理器 -> 包管理器设置:

在包源下,您可以添加指向本地(或远程)目录的新条目:

您仍然可以选择使用其他选项,例如在 Lib 文件夹中包含二进制文件,将 GIT 存储库添加为子模块,甚至使用 https://github.com/mrange/T4Include 之类的方式包含源文件。这些选择各有优缺点,不参与项目就无法做出决定。

最流行的 NuGet 替代品和我们 ASP.NET 团队使用的替代品是 MyGet。您可以创建 public 或私人 MyGet 供稿,您可以在其中存储您的包裹。这还允许您通过多个提要进行分支开发。例如:一个用于开发,一个用于暂存,一个用于生产。

另一种可能需要更多基础结构的方法是文件共享。这样做的缺点是您需要同一网络上的每个人才能访问共享。