从 git 签出后 nuget dll 丢失

2024-05-10

I have a C# solution containing different projects. On those projects, I have some normal nuget packages like Newtonsoft.Json, EntityFramework , etc. But when I checkout my source on another machine, and build it, it won't copy the Dllsenter image description here

我已将整个解决方案文件夹提交给 git,我可以在 Bitbucket 中看到包文件夹和内容。我做错了什么?

P.S:我知道我可以在下面运行来恢复我的包,但这是一个很大的痛苦。 P.S.S:我已经搜索并看到了this https://stackoverflow.com/questions/6876732/how-do-i-get-nuget-to-install-update-all-the-packages-in-the-packages-config and this https://stackoverflow.com/questions/14490270/what-is-the-right-way-to-add-net-project-with-nuget-dependencies-to-a-git-repo。我正在寻找一种方法来防止它再次发生

nuget install packages.config

使用 NuGet 的惯用方式(例如,与 npm 不同,通常在 npm 中提交node_packages)是只提交你的packages.config。 Visual Studio 将检测缺少的包packages/文件夹并在构建时恢复它们,以及nuget restore在命令行中也会执行相同的操作。

原因是二进制文件比文本文件大,并且不可比较(即不可能存储增量)。我不确定 git 是否能像 svn 那样工作,但 nuget 的作者并不仅仅为那些使用 git 的人编写。

如果您担心包裹丢失,我有两点:

  1. Nuget.org 非常谨慎地认为这是不可能的。他们已经设置了只能软删除软件包,这意味着恢复可以看到这些版本,而恢复可以看到这些版本。nuget install将不会。
  2. 许多人运行自己的内部包服务器(例如 Klondike),它充当 nuget.org 的一种代理。如果您想打包内部库并使用 nuget 将它们分发到您的项目中,而不将它们发布到互联网上,这也很有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 git 签出后 nuget dll 丢失 的相关文章

随机推荐