Не удается найти HttpContext в .NET 3.5 и Visual Studio 2008 - PullRequest
6 голосов
/ 28 августа 2010

Я использовал код здесь , и я получаю следующую ошибку: Не могу использовать HttpContext.Current.Server.MapPath()

В Visual Studio 2008 помогает ли ContextMenuEntry «Решить», когда у вас отсутствуют ссылки?

Я уже узнал, что HttpContext не является членом System.Web в моей IDE. Согласно справке> Информация я использую .NET 3.5 SP1.

Как мне это запустить?

Как вы обычно реагируете в этой ситуации? Какие вещи вы ищете в msdn.com?

Ответы [ 5 ]

18 голосов
/ 28 августа 2010

Что бы я сделал в этой ситуации - посмотрите на MSDN (или Google) на HttpContext.Я сделал это, и он говорит, что это в System.Web.Поэтому убедитесь, что в вашем проекте есть ссылка на System.Web.

“Add Reference” menu item

“System.Web” in the Add Reference dialog

... и тогда, похоже, он работает:

HttpContext is now available.

2 голосов
/ 28 августа 2010

Вы можете найти в документации класс HttpContext, и он сообщает, что он находится в пространстве имен System.Web, в библиотеке System.Web.dll.

Итак, чтобы использоватьесли вам нужна ссылка на библиотеку System.Web.dll, или вам нужен оператор using System.Web;, или используйте полное имя System.Web.HttpContext.Current.Server.MapPath.

Однако вы уверены, что хотите использовать MapPath метод?Метод получает физический путь веб-ссылки на файл.Если путь к вашему CSV-файлу является веб-ссылкой, например, "/data/items.csv", то вы хотите использовать метод MapPath, но если у вас есть физический путь, например, "C:\mydata\items.csv", вы не хотите его преобразовывать..

Кроме того, MapPath работает только в том случае, если вы действительно находитесь в веб-приложении, где есть контекст HTTP.

1 голос
/ 05 октября 2012

Это был простой случай, когда не использовалась правильная структура, я имею в виду полную полную версию, а не «облегченную» версию по умолчанию.

Щелкните правой кнопкой мыши на Project, а затем на Properties и убедитесьвыбрана полная версия последней платформы, т.е. «.NET Framework 4», а не «.NET Framework 4 Client Profile»

1 голос
/ 28 августа 2010

Тимви это правильно, но для полноты. Нет, VS не имеет встроенной функции «Решить», однако некоторые функции были частично добавлены. Например, Resharper добавит опцию добавления ссылки и ее использования при необходимости, но на нее уже нужно было ссылаться в решении, чтобы не решить начальную проблему поиска.

0 голосов
/ 28 августа 2010

Попробуйте добавить ссылку на System.Web в ваш проект.

HttpContext является членом System.Web.

http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx

...