5

我使用 Nuget(RestSharp、Twilio 等)向 VS 2010 解决方案添加了一些库。当我将相同的解决方案从 TFS 拉到一台新 PC 并尝试构建它时,对这些程序集的所有引用都被破坏(错误“找不到命名空间......”)。每个第一次使用这个 VS 解决方案的开发人员是否有必要在他们的 PC 上独立安装相同的 Nuget 包?谢谢,吉姆

4

2 回答 2

5

正如安德鲁已经说过的那样,这完全取决于包裹的位置。

要么您必须签入包含所有软件包的整个软件包文件夹,要么每个开发人员都必须在第一次签出后安装软件包。但是有一个更好的方法可以做到这一点,即使用 NuGet 包还原——它会在项目构建时自动安装所有丢失的包。

如果您使用包还原,您只需将 repositories.config 检入您的 VCS。使用 TFS,您可以隐藏除 repositories.config 之外的整个包文件夹,这样 TFS 就不会因新包的挂起签入而烦恼。

另请参阅此答案以获取有关如何使用 TFS + NuGet 的指导。

于 2012-04-25T13:24:20.767 回答
2

不,但您需要确保程序集都包含在相同的相对路径中,以便 Visual Studio 可以找到它们。您可以包含解决方案的 nuget 包目录,我认为它存储了项目要引用的库的副本。

顺便说一句,包括所述目录可能实际上与“安装软件包”相同。如果将 NuGet 在其包管理中使用的所有文件都包括在内,NuGet 的行为将与您安装它们时的行为相同。但是您不需要通过 NuGet 进行实际的包安装,它就可以工作......甚至首先在 Visual Studio 中安装 NuGet。这只是适当的文件位于 Visual Studio 项目文件所期望的位置的问题。

于 2012-04-24T16:52:15.517 回答