我使用Nuget(RestSharp,Twilio等)为VS 2010解决方案添加了一些库。当我从TFS将相同的解决方案下载到新的PC并尝试构建它时,对这些程序集的所有引用都被破坏(错误“无法找到名称空间......”)。是否有必要为首次使用此VS解决方案的每个开发人员在其PC上独立安装相同的Nuget软件包? 谢谢, 吉姆
答案 0 :(得分:5)
正如安德鲁已经说过的所有关于包裹的位置。
您必须使用所有软件包签入整个packages文件夹,或者每个开发人员必须在首次签出后安装软件包。但有一种更好的方法,即use NuGet Package Restore - 这将在项目构建时自动安装所有缺少的包。
如果使用包还原,则只需将repositories.config签入VCS即可。使用TFS,除了repositories.config之外,您可以cloak the entire packages folder,这样TFS就不会对新软件包的挂起签入产生烦恼。
另请参阅this answer以获取有关如何使用TFS + NuGet的指导。
答案 1 :(得分:2)
不,但您需要确保程序集全部包含在相同的相对路径中,以便Visual Studio可以找到它们。您可以包含解决方案的nuget包目录,我认为它存储了项目要引用的库的副本。
顺便提及,包括所述指令可以与“安装包裹”有效地相同。如果您包含NuGet在其管理包中使用的所有文件,NuGet的行为与您安装它们的行为相同。但是你不需要通过NuGet进行实际的软件包安装就可以了......或者甚至首先在Visual Studio中安装NuGet。这只是Visual Studio项目文件所期望的正确文件的问题。