Почему я не могу ссылаться на 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, профиль клиента был прекращен, и только полный распространяемый пакет имеется в наличии."

Другие вопросы по тегам