Невозможно запустить завершенное приложение вне среды разработки - PullRequest
0 голосов
/ 14 мая 2019

Я только что закончил полную отладку нового приложения и хочу передать его нескольким людям для проверки.Это приложение, разработанное в Visual Studio Community 2017. Оно использует Entity Framework 6.2.0.Когда я запускаю его в VS2017, он работает нормально.Когда я запускаю его из файлового менеджера, я получаю эту ошибку: "Could not load file or assembly Entity Framework, Version=6.0.0.0... or one of its dependencies. The system cannot find the file specified."

Я пытался удалить и переустановить Entity Framework, но это не решило мою проблему.Может кто-нибудь дать мне место для поиска моей проблемы?Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

ОК, благодаря вашей помощи, теперь я понимаю, что происходит.Вот что я узнал.

  1. Если вы посмотрите на свойства References / EntityFramework, местоположение по умолчанию, то приложение ищет EntityFramework, берется из Properties / Path, если Properties / CopyLocal равно false.

  2. Если я хочу увидеть ту же ошибку, которую я получал ВНУТРИ среды разработки, мне нужно было изменить Properties / CopyLocal на равное true и затем перекомпилировать программу.Если я затем запустлю программу, я получу ($ исключение). Ошибка FusionLog, которая поможет с попыткой объяснить, что происходит.

  3. Для запуска моей программы из файлового менеджера япришлось изменить Properties / CopyLocal равным true, перекомпилировать программу и скопировать EntityFramework.DLL в каталог, где находится программа.

0 голосов
/ 14 мая 2019

Конкретная ошибка, с которой вы столкнулись, означает, что она не может найти DLL-библиотеку среды объекта, вы можете попробовать проверить, где она ищет файл,

Вы можете попробовать перейти к свойствам сборки в Visual Studio и установить флажок DLL-библиотеки Entity Framework как Всегда копировать в выходной путь (I.E копировать локально)

Build Local

отличный способ сделать это - использовать FusionLog.NET

Фрагмент связанного адреса объясняет, что это такое.

Средство просмотра журнала привязки сборки отображает сведения о привязках сборки. Эта информация помогает вам диагностировать, почему .NET Framework не может найдите сборку во время выполнения. Эти сбои обычно являются результатом сборки, развернутой в неправильном месте, собственный образ, который больше не действителен или не соответствует номерам версий или культурам. общеязыковая среда выполнения обычно не может найти сборку отображается как исключение TypeLoadException в вашем приложении.

Идея состоит в том, чтобы запустить его от имени администратора, установить собственный путь к журналу и запустить приложение. Если в приложении есть проблемы, вы можете дважды щелкнуть по нему и проверить получившуюся веб-страницу, которая показывает, почему сбой привязки сборки и какой путь он искал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...