在其他 Git 个存储库中引用 .NET 程序集
Referencing .NET assemblies in other Git repositories
我正在学习如何更有效地使用 GIT。当我浏览 GitHub 上的项目时,似乎每个项目都是它自己的存储库。但是,在 .NET 中,您经常需要在每个项目中添加对程序集的引用。这些程序集通常是解决方案中另一个项目的结果。也就是说,一个解决方案往往是由多个项目组成的。
我知道您可以将一个解决方案及其所有项目放在一个存储库中。但是,如果您想将每个项目拆分到它自己的存储库中,您将如何引用这些其他项目之一的输出(即程序集)?
您将使用包管理器。对于 .NET,它主要是 NuGet.
NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers.
每个存储库都会生成并发布一个包含其构建的 dll 的包。其他存储库将使用这些包来访问 dll。
如果包不应该 public 你可以 运行 你自己的 NuGet 服务器,例如在您的组织内。您还可以使用 VSTS 等服务来托管您的包,并且只允许具有适当访问权限的人引用和下载它们。参见 Get started with NuGet Package Management in VSTS and TFS。
您还可以使用其他 NuGet 客户端,例如Paket,即使是用 F# 编写的,也可以在任何 .NET 项目中使用。
我正在学习如何更有效地使用 GIT。当我浏览 GitHub 上的项目时,似乎每个项目都是它自己的存储库。但是,在 .NET 中,您经常需要在每个项目中添加对程序集的引用。这些程序集通常是解决方案中另一个项目的结果。也就是说,一个解决方案往往是由多个项目组成的。
我知道您可以将一个解决方案及其所有项目放在一个存储库中。但是,如果您想将每个项目拆分到它自己的存储库中,您将如何引用这些其他项目之一的输出(即程序集)?
您将使用包管理器。对于 .NET,它主要是 NuGet.
NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers.
每个存储库都会生成并发布一个包含其构建的 dll 的包。其他存储库将使用这些包来访问 dll。
如果包不应该 public 你可以 运行 你自己的 NuGet 服务器,例如在您的组织内。您还可以使用 VSTS 等服务来托管您的包,并且只允许具有适当访问权限的人引用和下载它们。参见 Get started with NuGet Package Management in VSTS and TFS。
您还可以使用其他 NuGet 客户端,例如Paket,即使是用 F# 编写的,也可以在任何 .NET 项目中使用。