4

我正在创建一个名为“ExpressForms”的开源 .net Web 开发框架。我刚刚将项目上传到 github:https ://github.com/DanielLangdon/ExpressForms 。

我使用 NuGet 设置我的代码以运行最新版本的 ASP.net MVC 和 Entity Framework;这些保存在解决方案下方的“包”目录中。我可以看到默认情况下,git在将我的项目上传到github时会忽略这个目录。

当我将项目从 github 下载到另一个目录时,该目录丢失并且无法构建解决方案。

我需要做什么才能使其他开发人员可以轻松地从 github 下载我的代码并立即构建它而无需大惊小怪?

我还是 git 的新手,所以我很可能缺少一些基本的东西。

4

1 回答 1

4

听起来您需要在新下载的解决方案中启用 NuGet 包还原

将 NuGet 与 GitHub 一起使用时,GitHub 会忽略目录下的文件,packages因为将二进制文件(如 DLL 库)提交到 Git 通常不是一个好主意,因为它会导致 Git 存储库随着时间的推移变得臃肿,因为它们必须保留每个存储库历史中永远存在的二进制版本(除非您返回并使用 删除它们git filter-branch)。

作为一种解决方法,NuGet 设计有“包还原”,它指定您的解决方案可能在文本 xml 文件中具有的任何依赖项,该文件可以通过 Git 轻松有效地进行版本控制。所以只有那个文件应该提交给 Git。

当您启用包还原并构建解决方案时,NuGet 将检查配置文件并自动下载其中指定的任何依赖项。

于 2013-08-07T15:20:01.333 回答