В ASP.NET MVC 4.5.2 Framework.
после ввода
@Html.LabelFor()
or
@Html.EditorFor()
ввиду
Я получаю сообщение об ошибке: тип "Выражение <>" определен в сборке, на которую нет ссылки. Вы должны добавить ссылку на сборку "System.Core, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089".
Я добавил ссылку на сборку System.Core.dll, версия 4.0.0.0, версия среды выполнения v4.0.30319. а также я сделал в web.config
asp.net-mvc
asp.net-mvc-5.1
Mansoor
источник
источник
Ответы:
Я столкнулся с той же проблемой, что и вы, хотя и намного позже. Проблема заключалась в том, что мне не удалось получить доступ к представлениям Razor (.cshtml), поскольку я получал сообщение об ошибке, в котором говорилось, что у меня отсутствовала ссылка на сборку, а именно
System.Web.Mvc
, хотя она была в ссылках на проект. После расследования я заметил, что установленная версия NuGet была 5.2.3, а для проекта требовалась 5.2.0. Решение состоит в том, чтобы понизить версию MVC.Подтвердите все диалоги, и вы готовы к работе.
источник
Я не уверен, осталась ли у вас эта проблема, но у меня тоже была такая же проблема.
Я смог найти здесь решения
/programming/6496223/compilation-error-in-net-4-0-web-config-linq-not-found
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Надеюсь, это поможет..
источник
Эта ошибка означает, что Visual Studio не удается найти сборку System.Web.Mvc для работы своего intellisense для представлений Razor. Чтобы исправить это, может потребоваться одно или оба из следующих условий.
[корень] /Web.config:
<system.web> <compilation targetFramework="4.6" />
Свойства проекта:
[просматривает папку] /web.config:
<system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Справочные свойства сборки MVC:
источник
источник
Я пробовал большинство из них, что в итоге сработало для меня, так это выгрузка проекта, редактирование файла csproj и добавление следующего:
<Reference Include="System.Core" />
https://stackoverflow.com/a/38371981/2335660
источник
Удаление [Projectname] .csproj.user файл из каталога проекта помог мне.
источник
У меня была такая же проблема, и ни одно из решений не устранило проблему. Мне пришлось добавить это в свой внутренний
web.config
мирSystem.Web
<compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" />
Я удалил его, когда менял кое-что
config
вокруг.источник
В моем случае это сообщение отображалось только при включенном Resharper. Я очистил кеш Resharper, перезапустил VS, выключил Resharper и снова включил его. Сообщение исчезло.
источник
У меня была такая же проблема с отсутствующей сборкой, и случилось так, что сборка VS2017 не скопировала ее должным образом в папку Bin. Мне помогли следующие шаги:
из этого комментария: CS0012: Тип '##### Любой тип #####' определен в сборке, на которую нет ссылки
источник
В Web.config мне нужно было изменить:
<system.web> <compilation debug="true" targetFramework="4.7">
к
<system.web> <httpRuntime targetFramework="4.7" /> <compilation debug="true" targetFramework="4.7">
источник
targetFramework
в<httpRuntime>
и<compilation>
тегах. Просто обновив атрибут, чтобы он правильно отражал версию .NET Framework проекта, я исправил это.Убедитесь, что для действия сборки файла cshtml установлено значение «Содержимое».
Я использую ReSharper и заметил, что по какой-то причине созданный файл по умолчанию имеет значение «Нет» при вызове шаблона.
источник
Добавьте следующее в Web.config (в корне). Я перепробовал абсолютно все из предыдущих предложений, и ничего не работало, пока я не нашел ниже. Надеюсь, это сэкономит время кому-нибудь еще.
Я использую targetFramework = "4.6.1", но меняю его на версию, которую вы используете, если она отличается.
<system.web> <compilation debug="true" targetFramework="4.6.1" /> <httpRuntime targetFramework="4.6.1" /> </system.web>
источник
Добавьте файл System.Core.dll в папку bin вручную. Перезапустите VS и соберите проект . Решено для меня
Были ошибки дизайна во всех представлениях помощников @Html и в моих сетках Kendo.
Добавление сборки System.Core в Web.config ничего не дало, равно как и понижение версии MVC. И ошибка при попытке добавить ссылку на System.Core вручную:
Убедитесь, что TargetFramework в свойствах проекта совпадает со значением в проекте web.config.
Скриншот папки bin
источник
Для меня в меню проекта была опция «Включить C # 6.0 / VB 14». Выбор этой опции сработал. Раньше я пытался изменить web.config, перезапустить Visual Studio и т. Д., Как было предложено в этом сообщении.
источник
Я столкнулся с той же проблемой. В основном проблема заключается в использовании другой версии
System.Web.Mvc
. Так что лучше всего открытьсяTools > Nuget Package Manager > Manage Nuget Packages for Solution
. Вы, наверное, можете увидетьSystem.Web.Mvc
наCosolidate
вкладке. Лучшим вариантом будет обновление или возврат к более ранней версии. Если вы используете последнюю.Net 4.6.1
версию .Net framework, которая есть в настоящее время , вам следует обновить всеSystem.Web.Mvc
версии до5.2.4.0
. Удачи!источник
Что ж, я исправил это, исправив ссылку на сборку в /Views/web.config , см. Изображение:
источник
удалить каталог bin, .vs и obj. после сборки вашего проекта в Visual Studio.
источник
Я сделал ВСЕ вышеперечисленное и в конце концов обнаружил, что для меня это решает (на сайте .net framework 4.7.1 с MVC 5.2.4) добавление этого в корневой файл web.config внутри
<compilation>
-<assemblies> <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> </assemblies>
источник
Так случилось с одним из моих взглядов - все остальные были в порядке. Я сделал следующее:
источник
У меня сработал перезапуск Visual Studio.
источник
источник
Попробуй добавить
using system.Linq.Expressions;
источник
У меня тоже была эта пробема. Изменение
targetFramework="4.5.2"
кtargetFramwork="4.5"
в файле web.config решил.источник
Если вы получили это только в одном или двух файлах CSHTML ... это поврежденный файл.
У меня такое случилось с поврежденным файлом, в котором есть скрытые символы Юникода. Попробуйте скопировать весь текст документа в новый экземпляр блокнота. Очистите содержимое исходного файла и сохраните ... если длина файла> 0, что-то не так.
Удалите файл и сохраните экземпляр блокнота поверх старой версии. Все ошибки у меня исчезли.
В моем решении такое случалось пару раз. Не уверен, что вызывает это, но я подозреваю, что Решарпер лажает , когда начинает поглощать огромные куски памяти в бездну.
Я единственный, у кого с Решарпером отношения любви / ненависти?
источник
Это может быть вызвано тем, что в вашем решении несколько проектов, которые не нацелены на одну и ту же версию .NET Framework. Например, если ваш проект веб-приложения нацелен на .NET 4.5 и у вас есть ссылка на сборку другого проекта в решении, ориентированного на .NET 4.5.2. Чтобы исправить это, вам нужно изменить свои проекты на одну и ту же версию .NET Framework.
источник
Если ни один из ответов не работает, используйте этот. Я столкнулся с той же проблемой! На самом деле файл configuration.cs в папке миграции отсутствовал / был удален. Я удалил папку миграции, а также удалил таблицу миграции из базы данных. Далее в консоли диспетчера пакетов (PM) используются следующие команды:
Enable-Migrations -Force Add-Migration Initial update-database
В ходе этого процесса был воссоздан файл configuration.cs, и все работало отлично!
источник
Проверьте свойства своего проекта, чтобы получить Target framework. Я решил эту проблему в своем проекте, сопоставив с моей целевой платформой .NET framework 4.6.1 MVC 5.2.3 был подходящим решением. Я получил эту версию MVC от NuGet.
источник
В моем случае решение заключалось в том, чтобы переместить ConnectionString внутрь Web.Config. Это заявление должно быть после раздела AppSettings.
источник