LuaInterface - FileNotFoundException - PullRequest
       15

LuaInterface - FileNotFoundException

0 голосов
/ 19 октября 2011

Я пытаюсь заставить систему Lua работать в моем приложении .NET 4.0. Я использую LuaInterface в качестве оболочки для Lua, которая скомпилирована в .NET 4.0

Приложение прекрасно работает при запуске сценариев Lua на моем компьютере разработчика, на котором установлен VS2010. Но при запуске его на другом компьютере я получаю исключение FileNotFoundException.

System.IO.FileNotFoundException: Could not load file or assembly 'lua51.dll' or one of its dependencies. The specified module could not be found.

lua51.dll находится в той же папке, что и приложение, поэтому я не вижу там никаких проблем. Так что это должно означать, что он не может найти файл, от которого зависит lua51.dll. И это проблема.

Какие файлы мне нужно, чтобы мои пользователи установили для правильной работы?

Ответы [ 3 ]

0 голосов
/ 27 октября 2011

Если ваша система разработки и система с этой проблемой не имеют одинаковую архитектуру (32-разрядная -> 64-разрядная), это может вызвать проблемы. Я ответил на вопрос, аналогичный этому, на Проблема вызова внешней библиотеки C # (Lua)

"У меня было много проблем с взаимодействием .NET, LuaInterface и Lua5.1 на 64-битных машинах. Lua5.1 компилирует только 32-битные, и для этого требуется (я полагаю) сборка проекта LuaInterface как 32-разрядная версия. Попробуйте изменить «Project -> Properties -> Build -> Platform Target» на «x86» в своих проектах .NET. "

0 голосов
/ 22 октября 2012

У меня была такая же проблема.

Я решил ее, установив vcredist_x86.exe (распространяемый пакет Visual C ++ 2010) от Microsoft, который добавляет необходимые библиотеки DLL в систему.

Iпопытался скомпилировать lua51.dll с параметром / MT, но этот параметр несовместим с параметром / CLR, который необходим.Затем я попытался установить Redist-пакет 2008 (как говорит сайт LuaInterface), который не работал (возможно, я сам скомпилировал lua с VS 2010 - я больше не знаю).Версия 2010 года решила мою проблему.

0 голосов
/ 19 октября 2011

Вы можете проанализировать это с помощью ведения журнала Fusion Binding.Это можно сделать из командной строки, записать в файл или просмотреть через графический интерфейс (FUSLOGVW.exe).Начните здесь и посмотрите, с чего это началось.

...