Ссылка на System.IO.FileNotFoundException не найдена при запуске на компьютере пользователя

Я делаю программу на C # с помощью Visual Studio Express 2013. Я использую Ionic.zip (dotnetzip). Когда я запускаю его из каталога ... / bin / release или из Visual Studio, он работает отлично. когда у конечного пользователя он есть на своих компьютерах, или я запускаю его из другого места, когда он пытается выполнить действие с помощью ionic.zip, он вылетает со следующим исключением

System.IO.FileNotFoundException: Could not load file or assembly 'Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c' or one of its dependencies. The system cannot find the file specified.
File name: 'Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c'

Я абсолютно не знаю, как это исправить, и последние 3 дня безуспешно искал, как это сделать. Любая помощь будет оценена по достоинству.

Спасибо, Джеймс


person therimmer96    schedule 07.06.2014    source источник


Ответы (3)


Вам необходимо, чтобы установщик или скрипт скопировали DLL в исполняемый каталог (где находится исполняемый файл) или в PATH компьютера.

person Benjamin Trent    schedule 07.06.2014
comment
Спасибо. Это потрясающе. Я бы предположил, что указанные DLL-файлы упакованы в exe-файл: / - person therimmer96; 07.06.2014

Проверьте зависимости - либо напрямую, либо, возможно, не установленную ссылку на фреймворк. Если сборка есть в путях поиска, если она должна быть найдена.

person TomTom    schedule 07.06.2014

Сначала включите этот файл в свои ресурсы, а затем в его свойствах:

  • Выберите Build Action -> Content
  • Копировать в выходной каталог -> Копировать, если новее

введите описание изображения здесь

Прикрепляю картинку. Теперь вы можете получить доступ к его правильному пути следующим образом:

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Resources\\yourfile.exe";
person Syed Farjad Zia Zaidi    schedule 07.06.2014
comment
За исключением того, что автоматически выполняется поиск в папке, в которой запускается программа. - person TomTom; 07.06.2014