Почему System.Web.Mvc не указан в разделе Добавление ссылок?

StackOverflow https://stackoverflow.com/questions/3648364

Вопрос

Используя C #, Visual Studio 2010.

Существует пространство имен, называемое System.Web.Mvc документировано в MSDN.В документации для всех типов в этом пространстве имен говорится, что они находятся в System.Web.Mvc.dll.

Однако, когда я перехожу на вкладку “Добавить ссылку”.NET", эта сборка отсутствует в списке.Почему?

Это было полезно?

Решение 8

Желаемая сборка появилась в списке сейчас.

Я могу только спекулировать только что вызвало его появиться, но я подозреваю, что это тот факт, что я пошел ФайлНовыйПроектВеб-приложение ASP.NET, который я никогда не делал раньше. Возможно, что это вызвало возможность произойти некоторую позднюю инициацию, а список для заполнения дополнительных сборок для веб-разработки.

Другие советы

В VS Express 2012 я не смог найти System.Web.mvc в вкладке «Ассамблей», но после небольшого поиска я узнал, что мне нужно посмотреть »Сборки Расширения«Вкладка, а не по умолчанию« сборки Framework ».

Лучший способ - использовать менеджер пакета Nuget.

Просто обновите следующий пакет MVC, и он должен работать.

enter image description here

У меня была та же проблема и не смогла найти ссылочную сборку System.Web.mvc.

Наконец узнал, и он был расположен внутри следующего местоположения.

ПРИМЕЧАНИЕ Если ваш VS был установлен в C: (иногда MVC.DLL не находится в расположении по умолчанию, о котором говорится, я имею в видуСправочные сборки«Папка, расположенная в приводе C:).)

Если это не там, это обязательно должно быть здесь:

Файлы программы (x86) microsoft asp.net asp.net mvc 2 assists system.web.mvc.dll

Итак, добавьте DLL через навигацию или вкладку «Обзор» в меню «Добавить справочную».

Вы также можете добавить это из консоли менеджера Nuget Package, что-то вроде:

Install-Package Microsoft.AspNet.Mvc -Version 4.0.20710.0 -ProjectName XXXXX

Microsoft.aspnet.mvc имеет зависимости о:

  • Microsoft.aspnet.webpages (≥ 2.0.0.20710.0 && <2.1) '
  • Microsoft.Web.infrastructure (≥ 1.0.0.0) ''
  • Microsoft.aspnet.Razor (≥ 2.0.20710.0 && <2.1) '

... Что похоже на меня без Biggie. В нашем случае это классная библиотека, которая существует исключительно для обеспечения поддержки наших приложений MVC. Итак, мы полагаем, что это доброкачественная зависимость в худшем случае.

Я определенно предпочитаю, чтобы это указывало на сборку на файловую систему или в GAC, поскольку обновление пакета в будущем, вероятно, будет намного менее болезненным, чем опыт, у меня были ссылки на сборку GAC и файловой системы в прошлом.

У меня была такая же проблема, и вот забавная причина: я думаю, что вы ожидаете System.Web.Mvc быть расположенным под System.Web в списке. Но список не алфавит.

Сначала сортируйте список, а затем посмотрите рядом с System.Web.

«Хорошо, добавляя, что XML в Web.config работает, но это не отвечает на вопрос»

Это должно быть там. По умолчанию списком «Добавить ссылки», похоже, заказывается, но это не так. Нажмите на заголовок имени и посмотрите еще раз.

Проверьте эти шаги:

  1. Убедитесь, что MVC установлен правильно.
  2. Проверьте свойство проекта и посмотрите, какова целевая структура проекта.Если для целевой платформы не установлено значение .Net Framework 4, установите его.

Примечание:если для целевой платформы установлен клиентский профиль .Net Framework 4, ссылка на MVC не будет указана в списке литературы.Вы можете найти различия между .Net Framework 4 и профилем клиента .Net Framework 4 здесь.

Клиентский профиль .NET Framework 4 - это подмножество .NET Framework 4, оптимизированное для клиентских приложений.Он предоставляет функциональные возможности для большинства клиентских приложений, включая Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF) и функции ClickOnce.Это обеспечивает более быстрое развертывание и меньший установочный пакет для приложений, ориентированных на клиентский профиль .NET Framework 4.

Я решил эту проблему, искал «MVC». System.Web.mvc появился в результатах поиска, несмотря на то, что он не содержится в списке.

Это изменилось для Visual Studio 2012 (я знаю, что оригинальный вопрос говорит VS2010, но заголовок все равно найдет на поиски).

При создании проекта MVC MVC VS2012 System.Web.mvc помещается в папку пакетов, которая является одноранговым для решения. Это будет ссыловаться в веб-проекте по умолчанию, и вы можете найти точный путь там).

Если вы хотите ссылаться на это в дополнительном проекте (скажите поддерживающую .dll с фильтрами или другими атрибутами), то вы можете ссылаться на него оттуда.

Я не получил system.web.mvc в против 2012, но я получил его в 2013 году. Используя Addreference Dialog,enter image description here

Или вы можете найти это на вашем пути проекта,

YourProjectName packages Microsoft.aspnet.mvc.5.0.0 lib net45 system.web.mvc.dll

Я считаю, что вы найдете, что сборка MVC ссылается в файл Web.config, а не в самом проекте.

Что-то вроде этого:

<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </assemblies>
</compilation>

Ответить на ваш комментарий;

Лучший ответ, который я могу дать, это от здесь:

Add Element добавляет ссылку на сборку на использование во время компиляции динамического ресурса. ASP.NET автоматически связывает эту сборку на ресурс при составлении каждого модуля кода.

Он может быть установлен разделен, и он не включен в рамку, выберите вкладку «Расширение», и он существует и больше других Libs, все в порядке, не нужно использовать старые Libs и т. Д.

Если вы получили эту проблему в Visual Studio 2017, шансы вы работаете с проектом MVC 4, созданный в предыдущей версии VS с ссылочным путем, указывая на C:\Program Files (x86)\Microsoft ASP.NET. Отказ Visual Studio 2017 больше не устанавливает этот каталог.

Мы обычно решаем это, устанавливая копию Visual Studio 2015 наряду с нашим экземпляром 2017 года, и это устанавливает необходимые библиотеки на вышеуказанном пути. Затем мы обновляем все ссылки в затронутых проектах, и мы добрым ходу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top