Почему я не могу ссылаться на System.Web.Extensions в консольном приложении?
Сборка отсутствует в списке в диалоговом окне Добавить ссылку... Когда я нахожу его вручную и добавляю, на нем появляется маленький восклицательный знак, и я не могу ссылаться на него в коде.
Я попробовал это на 2 разных копиях VS2010 с одинаковыми результатами.
5 ответов
+ Изменить Target Framework
из профиля клиента в полную структуру, и вы сможете добавить его.
Консольные приложения по умолчанию нацелены на "Профиль клиента.NET Framework xx", который не включает веб-сборки. Измените целевой фреймворк на ".NET Framework xx" в Project -> Properties -> Application.
Скорее всего, это связано с версией фреймворка, на которую нацелен ваш проект.
Если вы ориентируетесь на.NET 4.0 Client Profile, веб-сборки не включены. Измените проект на целевой 4.0, и вы должны быть хорошими.
Зайдите в свойства вашего проекта и измените целевую платформу с .NET Framework 4 Client Profile на просто .NET Framework 4.
Подробнее о профиле клиента:
Клиентский профиль.NET Framework 4 является подмножеством.NET Framework 4, оптимизированным для клиентских приложений. Он предоставляет функциональные возможности для большинства клиентских приложений, включая функции Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF) и ClickOnce. Это ускоряет развертывание и уменьшает размер установочного пакета для приложений, ориентированных на клиентский профиль.NET Framework 4.
Я считаю, что это было решено в VS2012. Мне разрешили просто добавить ссылку на System.Web в моем новом консольном приложении. По умолчанию мое приложение предназначалось для ".NET Framework 4.5.1", а не для целевого клиента. (На самом деле, я не увидел профиль клиента "4.5" в моем списке.)
Согласно http://msdn.microsoft.com/en-us/library/cc656912(v=vs.110).aspx "Начиная с.NET Framework 4.5, профиль клиента был прекращен, и только полный распространяемый пакет имеется в наличии."