Мы разрабатываем несколько приложений в Visual Studio 2010, используя C # и .NET 4.0 в Windows.Два приложения SilverLight, использующие сервисы из нескольких проектов WCF.Другим является консольное приложение.
Мы хотим поместить некоторые «общие» функции в отдельный проект библиотеки для того, чтобы разложить и повторно использовать код.Эта библиотека должна знать, размещено ли приложение (IIS, ASP.NET ...), например, службы WCF, или запущено как консольное приложение, из-за разной обработки пути к файлу.
Поиск ответа на этот вопрос, людиуказывает на использование System.Web.dll, чтобы узнать, размещен ли код, используя HttpContext, HostingEnvironment.IsHosted ... Проблема заключается в том, что такой подход требует включения ссылки на System.Web в проекте библиотеки, посколькудопустимо, если на эту библиотеку будет ссылаться консольный проект с профилем клиента.
Идея состоит в том, чтобы использовать другой метод, не связанный с использованием сборки System.Web.