为什么有“packages”文件夹以及如何使其工作?

时间:2012-08-29 14:11:10

标签: c# web nuget

我在VS2010中有一个WebSite项目。文件夹结构如下:

../packages
../Website
../Website.DataAccess
etc.

我正在尝试通过在VS2010 / Open网站中打开根文件夹来打开网站。但是当我这样做时,它似乎缺少所有引用,例如System.Web.Helper,System.Web.Mvc等。 错误消息如:

  

无法加载文件或程序集'System.Web.Helpers,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。该系统找不到指定的文件。

继续出现。

那为什么甚至有这个文件夹“包”?它应该自动让我打开网站项目而不用担心所有的引用/组件?

我有什么办法让WebSite看到“packages”文件夹并使用它,所以我可以构建这个WebSite吗?

编辑1: 此外,尝试从nuget控制台安装新软件包时:install-package system.web.helpers

我收到错误消息:The current environment doesn't have a solution open.

由于这是一个WebSite,我没有解决方案文件。无论如何,对我来说似乎有点奇怪,需要解决方案文件。

3 个答案:

答案 0 :(得分:6)

您可能正在谈论NuGet packages文件夹,该文件夹是为了存储从NuGet Package Manager安装的软件包的链接而创建的。

enter image description here

转到nuget.codeplex.com并点击此按钮:

enter image description here

答案 1 :(得分:4)

您需要先安装NuGet Visual Studio扩展程序。您可以直接在Visual Studio中获取它,方法是转到Tools -> Extension Manager并在线搜索NuGet - 然后安装它。

安装完成后,您可以通过它管理软件包 - 右键单击​​Solution Explorer中的项目节点,然后选择Manage NuGet Packages...以获取用户界面。

查看How do I get NuGet to install/update all the packages in the packages.config?上的答案了解详情。

答案 2 :(得分:0)

你不应该“让它发挥作用”。没有NuGet就无法正确编辑它,但它应该包含构建项目所需的二进制文件,即使没有安装NuGet也是如此。