我是否仍必须将第 3 方库二进制文件保留在源代码管理中?

发布于 2024-10-08 09:54:45 字数 283 浏览 1 评论 0原文

现在我正在使用 NuGet 添加/更新所需的引用,是否可以仅将 packages.config 添加到源代码管理并在构建时添加 .dll?

通常,如此相关问题中所述,我将第三方依赖项存储在以下文件夹中解决方案根目录并将它们签入源代码管理。

我们当前没有使用任何自定义构建工具或脚本:仅使用 VisualStudio 的默认构建和 .sln 文件。

Now that I'm using NuGet to add/update my required references, is it possible to only add packages.config to source control and have the .dlls added at build time?

Normally, like described in this related question, I store third party dependencies in a folder under the solution root and check them in to source control.

We're currently not using any custom build tools or scripts: just VisualStudio's default build with the .sln file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离鸿 2024-10-15 09:54:45

是的,你可以! http://docs.nuget.org/docs/workflows/使用 nuget-without-committing-packages

当前的 NuGet 工作流程始终是将 Packages 文件夹提交到源代码管理中。原因是,它与开发人员在没有 NuGet 时通常所做的事情相匹配:他们创建一个“Lib”或“ExternalDependency”文件夹,将二进制文件转储到其中并将它们提交到源代码管理以允许其他人构建。

虽然这对某些用户来说效果很好,但我们也从许多用户那里听说,将包提交到源代码管理中并不是他们想要做的。当使用像 Mercurial 或 Git 这样的 DVCS 时,提交二进制文件会随着时间的推移疯狂地增加存储库的大小,使克隆变得越来越痛苦。事实上,这是我们的问题跟踪器 NuGet 上最常见的请求之一。

好消息是 NuGet 现在提供了一个工作流程,对解决这个问题大有帮助。它还不是 100% 自动化,但只需一些最小的痛苦,您就可以设置您的项目来执行此操作...

Yes you can! http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

The current NuGet workflow has always been to commit the Packages folder into source control. The reasoning is that it matches what developers typically do when they don't have NuGet: they create a ‘Lib' or ‘ExternalDependencies' folder, dump binaries into there and commit them to source control to allow others to build.

While this has worked fine for some users, we have also heard from many that committing packages into source control is not what they want to do. When using a DVCS like Mercurial or Git, committing binaries can grow the repository size like crazy over time, making cloning more and more painful. In fact, this has been one of the top requests on NuGet our issue tracker.

The good news is that NuGet now offers a workflow which goes a long way to solving this problem. It isn't 100% automated yet, but with some minimal pain you can set up your project to do this...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文