Убедитесь, что ваш проект ориентирован на полный .NET 4.0 вместо клиентского профиля:
![enter image description here](https://i.stack.imgur.com/b53Mq.png)
Теперь вам нужно добавить ссылку на сборку и System.Web
using System.Web
к файлу:
![enter image description here](https://i.stack.imgur.com/gYT0P.png)
Все это, как говорится, обратите внимание, что это абсолютно отвратительная вещь. В ваших библиотеках классов (a.k.a DAL, BAL, независимо ...) не должно быть никаких знаний о каком-либо HttpContext. Это чисто веб-материал, и он должен жить только там, где он принадлежит - на веб-уровне.
Ваш DAL, BAL, ... не должен делать никаких звонков System.Web.HttpContext.Current.Server.MapPath
. Это просто должно быть имя файла в качестве параметра. То, как рассчитывается это имя файла, является чисто ответственностью вызывающего. Поэтому, если вызывающий абонент является веб-приложением, он может использовать метод MapPath
. Если вызывающий абонент является настольным приложением, он должен использовать что-то еще. Если это приложение для Windows Phone, оно должно использовать другое. Посмотрите, как теперь ваш DAL, BAL, ... агностик вызывающего и гораздо более многоразовый?
'Project/Ссылки/Добавить reference' –
я попытался добавить это через там, но это не показывал, поэтому я просмотрел его в другом проекте и импортировал, но отмечен как желтый – John
Возможно, вы отказались от своей целевой версии фрейма? –