26

我一直在使用 Visual Studio 2010 中的 NuGet 包管理器将第三方依赖项添加到我们的项目中,例如 NUnit、Elmah 等。默认情况下,这些依赖项安装到与 sln 文件处于同一级别的包文件夹中。

无论如何控制这个文件夹的创建位置,理想情况下,包文件夹会自动添加到版本控制中。我知道我可以手动将文件夹移动到我们当前的 lib 文件夹,但如果可能的话,我宁愿配置 devenv 来执行此操作,以确保我们可以通过包管理器进行升级。

谢谢。

4

2 回答 2

7

老实说,对于拥有 NuGet 的 Visual Studio 团队来说,这是一个很棒的功能建议。我希望看到 TFS 了解 NuGet 依赖项,并为参与项目的开发人员和想要使用 NuGet 依赖项进行编译的构建服务器适当地处理它们。

于 2011-03-29T01:35:52.150 回答
3

http://nuget.codeplex.com/discussions/236592上有关于此主题的讨论。

在当前版本中,包文件夹会自动添加到版本控制设置中。所以对我来说,只要我不将待处理的更改窗格过滤到仅解决方案项,NuGet 包就会被签入版本控制并添加到构建中。

但是,解决方案资源管理器中没有它的文件夹或对象,因此如果您将待处理的更改过滤到解决方案项目,则不会签入包。我不确定应该如何处理 NuGet 包在解决方案资源管理器中。在项目级别,您可以添加一个我想在解决方案中查看一些设置来处理它——我不确定它是否应该是解决方案文件或 NuGet 的功能。

如果它是一个解决方案项,Visual Studio 版本控制代码可能会给你更容易的可配置性。

您可以在 NuGet 命令行中使用标志来设置所需的包文件夹(“-o”),但它似乎不存在于包管理器或添加库包对话框或 Visual Studio 包管理器设置中的任何位置.

我建议加入“http://nuget.codeplex.com/discussions/236592”线程以获取 NuGet 建议,或在http://connect.microsoft.com/VisualStudio提交反馈,让团队了解您的情况'希望它在解决方案资源管理器/sln 文件中处理。

于 2011-05-20T14:29:33.330 回答