我有一个包含不同项目的C#解决方案。在这些项目中,我有一些正常的nuget包,如Newtonsoft.Json,EntityFramework等。但是当我在另一台机器上检查我的源代码并构建它时,它不会复制Dlls
我已将整个解决方案文件夹提交给git,我可以在Bitbucket中看到包文件夹和内容。我做错了什么?
P.S:我知道我可以跑到下面来恢复我的包裹,但这是一个很大的痛苦。 P.S.S:我已经搜索过了this和this。我正在寻找一种方法来防止它再次发生nuget install packages.config
答案 0 :(得分:3)
使用NuGet的惯用方法(与npm不同,例如,提交node_packages
的典型方式)是仅提交packages.config
。 Visual Studio将检测packages/
文件夹中缺少的包并在构建时恢复它们,并且命令行中的nuget restore
也会这样做。
原因是二进制文件比文本文件大,并且不可扩散(即不可能存储增量)。我不确定git是否像svn那样工作,但是nuget的作者并不只是为那些使用git的人写作。
如果你担心包裹丢失,我有两点:
nuget install
则不会。