MVC 5 на Mono: не удалось загрузить файл или сборку "System.Web.Entity" или одну из ее зависимостей
Цель: запуск проекта ASP.NET MVC 5 на Mono через Xamarain Studio.
Ошибка после запуска сервера:
Could not load file or assembly 'System.Web.Entity' or one of its dependencies.
![enter image description here]()
Ошибка в Xamarin Studio:
![enter image description here]()
Фон: проект был создан в Visual Studio 2013 как веб-проект по умолчанию. Большая часть конфигурации находится вне коробки. Код для этого может быть просмотрен здесь на GitHub. У меня есть последняя и самая большая Mono и Xamarin Studio с момента написания..NET Entity Framework - это разрешенная зависимость, и в Xamarin Studio отсутствуют проблемы с компоновкой.
Как я могу запустить этот проект? Как разрешить эту зависимость?
Ответы
Ответ 1
Я знаю, что это старый поток, но я столкнулся с этим, начав переносить проект MVC из VS для Windows в VS для Mac. Я нашел лучшее решение, чтобы удалить ссылку на System.Web.Entity и добавить пакет NuGet System.Web.Http.Common. Надеюсь, что это поможет.
Ответ 2
Мне удалось обойти эту проблему, получив файл System.Web.Entity.dll
из окна Windows. Я нашел мой в C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\
.
Как только я скопировал это в папку bin
моего проекта на моем Mac и обновил ссылку, чтобы включить HintPath
...
<Reference Include="System.Web.Entity" >
<HintPath>..\bin\System.Web.Entity.dll</HintPath>
</Reference>
проект будет построен в Xamarin Studio. Он по-прежнему показывал красный X рядом с ссылкой (да, даже если я указал, что это была локальная копия и добавил HintPath
), но, по крайней мере, он мог ее найти.
В итоге у меня возникла еще одна ошибка в том, что я не могу загрузить System.Drawing.BitmapSuffixInSameAssemblyAttribute
, но эй, небольшой прогресс!
Ответ 3
Скопирован ли EntityFramework.dll в ваш контейнер? В визуальной студии вы можете сделать следующее
![enter image description here]()
Ответ 4
Не было бы лучше/проще для вас просто заменить эту старую EntityFramework на новую с NuGet, я думаю, что это решит большинство наших проблем с другими ссылками