Тип "выражение" определяется в сборке, на которую нет ссылки
In ASP.NET MVC 4.5.2 Framework.
после ввода
@Html.LabelFor()
or
@Html.EditorFor()
в виде
Я получаю ошибку: тип 'Expression' определяется в сборке, на которую нет ссылки.Необходимо добавить ссылку на систему сборки.Ядро, версия=4.0.0.0, культура = нейтральная, PublicKeyToken=b77a5c561934e089'.
Я добавил справочную систему сборки.Ядро.dll, версия 4.0.0.0, Runtime Version v4.0.30319. а также я в сеть.конфигурации
17 ответов:
я столкнулся с той же проблемой, что и вы, хотя и намного позже. Проблема была в том, что я не смог получить доступ к Razor views (.cshtml) поскольку я получал сообщение об ошибке, указывающее, что у меня отсутствовала ссылка на сборку, а именно
System.Web.Mvc, хотя это было в ссылках на проект. После исследования я заметил, что установленная версия NuGet была 5.2.3, в то время как проект требовал 5.2.0. Решение состоит в том, чтобы понизить версию MVC.
- перейти к проекту - > пакет NuGet Менеджер.
- Поиск MVC; это будет первый результат.
- далее, чтобы выбрать понижение из выпадающего списка в деталях NuGet-пакет и отправить.
подтвердите все диалоги и вы готовы пойти.
Я не уверен, что у вас все еще есть эта проблема или нет, но у меня тоже была такая же проблема.
я смог найти решения здесь
https://stackoverflow.com/questions/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 не может найти систему.Сеть.Сборка Mvc для питания своего intellisense для представлений Razor. Для его исправления может потребоваться одно или оба из следующих действий.
- обеспечить версию .NET framework для компиляции свойство в главной сети.конфиг (тот, что в корне сайта) является то же самое, что указано в проекте свойства.
[root] / Web.config:
<system.web> <compilation targetFramework="4.6" />Свойства Проекта:
- убедитесь, что версия сборки MVC указана в представлениях сеть.конфигурация (та, что находится в папке views) совпадает с MVC сборка, которую вы используете в своем проекте.
[views folder] / 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 Свойства Ссылки:
- закройте файл cshtml
- перестроить решение
- открыть файл cshtml
- еще ошибки? Перезапустите Visual studio
- еще ошибки? Используйте ответ ctm1988
Я пробовал большинство из них, что в конечном итоге сработало для меня, было выгрузкой проекта, редактированием файла csproj и добавлением следующего:
<Reference Include="System.Core" />
в моем случае это сообщение было показано только при включении Resharper. Я очистил кэш Resharper, перезапустил VS, выключил Resharper и снова включил его. Сообщение исчезло.
у меня просто была такая же точная проблема, и ни одно из решений не исправило проблему. Я должен был добавить это в мой
web.configвнутриSystem.Web<compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" />Я удалил его при изменении некоторых из
configвокруг.
убедитесь, что для действия сборки файла cshtml задано значение 'Content'.
Я использую ReSharper и заметил, что по какой-то причине файл, который генерируется по умолчанию " нет " при вызове шаблона.
У меня была такая же проблема с отсутствующей сборкой, и случилось так, что сборка VS2017 не скопировала ее должным образом в папку Bin. Эти шаги помогли мне:
- перейдите к узлу ссылок веб-проекта
- найти ссылку на System.Ядро
- откройте окно VS Properties
- в окне Свойства измените Copy Local: False на True
из этого комментария: CS0012: Тип '#### # любой тип##### ' определяется в сборке, на которую нет ссылки
для меня в меню проекта была опция "включить C# 6.0 / VB 14". Выбор этой опции сделал трюк. Ранее я пытался изменить веб.конфигурация, перезапуск Visual Studio и т. д., Как было предложено в этом сообщении.
В Интернете.конфигурацию мне нужно было изменить:
<system.web> <compilation debug="true" targetFramework="4.7">до
<system.web> <httpRuntime targetFramework="4.7" /> <compilation debug="true" targetFramework="4.7">
Это произошло с одним из моих взглядов - все остальные были в порядке. Я сделал следующее:
- создать новый вид
- скопируйте и вставьте содержимое из старого представления в новое
- удалил старый
- переименовал новый в старый
в моем случае решение состояло в том, чтобы переместить ConnectionString внутри сети.Конфиг. Этот оператор должен быть после раздела AppSettings.
у меня тоже эта проблема. Изменение
targetFramework="4.5.2"доtargetFramwork="4.5"в web.конфигурационный файл решил это.


Comments