在我使用NuGet的项目上使用github

时间:2013-08-07 15:15:53

标签: .net git github nuget

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

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

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

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

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

1 个答案:

答案 0 :(得分:4)

听起来你需要enable NuGet package restore in your newly downloaded solution

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

作为一种解决方法,NuGet设计了“包恢复”,它指定了解决方案在文本xml文件中可能具有的任何依赖关系,Git可以轻松高效地对其进行版本控制。所以只有那个文件应该提交给Git。

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