Не удалось загрузить файл или сборку EntityFramework (1)
Ошибка заключается в следующем:C:\Users\[username]\Google Drive\VS2010\Projects\[project name]\[project name]\Views\Show\EditOrder.cshtml: ASP.NET runtime error: Could not load file or assembly 'EntityFramework (1)' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
Всем привет,
Здесь странная проблема. казалось бы, случайно мой проект полностью потерял самообладание. Немного предыстории: это проект ASP.Net MVC3 (.Net Framework 4), который я в основном написал в Visual Web Developer 2010 Express. Я говорю в основном потому, что, как вы заметите выше, в подробном сообщении об ошибке я сохранил его на своем Google Диске. Я синхронизирую этот проект туда и обратно на моем новом ноутбуке для разработки с установкой Visual Studio 2010 Professional. Это, вероятно, не очень хорошая идея, но я хотел простой метод работы с ним здесь, на моем рабочем столе (в офисе), дома (на моем ноутбуке разработчика) и в дороге (опять же, ноутбук ноутбука).
Любые идеи о том, что могло бы произойти, и как я могу это исправить?
Немного больше предыстории, теперь, когда я помню это... У меня были проблемы с публикацией этого на нашем локальном сервере IIS 6 Я понял, что должен был добавить _bin_deployableAssemblies
к пакету, чтобы он работал. В какой-то момент я удалил их из проекта и заново их добавил. Вероятно, именно в это время, или, по крайней мере, в течение нескольких часов, эта проблема начала возникать.
Я могу иметь помощь?
3 ответа
Чертовски странно..
Просматривая мою папку /[Project Name]/bin, я нашел 4 странных файла:
EntityFramework (1).dll
EntityFramework (1).xml
[Project Name] (1).dll
[Project Name] (1).pdb
В любом случае, после удаления их ребята и выполнения ребилда, все хорошо!
(У кого-нибудь есть идеи относительно того, как или почему это произошло? Возможно, это проблема с Google Диском, теперь, когда я думаю об этом...
Ваш проект MVC 3 имеет ссылку на одну версию Entity Framework, но на самом деле находит другую версию при попытке разрешить ссылку на Entity Framework на компьютере, где вы получаете эту ошибку.
Самым простым решением, вероятно, является обновление до текущей версии Entity Framework на вашем текущем компьютере, где вы получаете сообщение об ошибке.
Если вы откроете файл.csproj вашего проекта в обычном текстовом редакторе (например, "Блокнот"), вы должны увидеть строку, похожую на эту:
<Reference Include="EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.4.3.1\lib\net40\EntityFramework.dll</HintPath>
</Reference>
Это сообщит вам версию, которую ожидает найти ваше приложение. Если ты видишь
<SpecificVersion>False</SpecificVersion>
тогда ожидаемая версия или более поздняя версия может быть использована.
Еще один способ решения этой проблемы с загрузкой - это использование Fusion Log Viewer, который покажет вам неудачные попытки привязки и то, что пытался загрузчик (убедитесь, что вы запускаете его как администратор, иначе он просто ничего не делает).
Это была проблема с Google Диском для меня. Если вы удалите все файлы, заканчивающиеся на (1) в вашей папке Project/bin, это должно решить проблему.