#c# #mono #monodevelop #monomac #app-bundle
#c# #mono #monodevelop #monomac #app-bundle
Вопрос:
Я пишу программу monomac
для передачи файлов ftp на сервер. Я использовал FtpWebRequest
как
FtpWebRequest request =(FtpWebRequest)WebRequest.Create("ftp://serverip/filename");
Когда я запускаю этот код в monodevelop
его правильной работе. Но когда я выпускаю это и запускаю снаружи monodevelop
, я получаю сообщение об ошибке «Исключение, вызванное типом, для которого инициализируется System.Net.WebRequest
.
Я исследовал эту ошибку и обнаружил, что у нее проблема с библиотекой libc.dylib. Если я изменю DYLD_FALLBACK_LIBRARY_PATH в сценарии запуска app(AppBundle/MacOs/AppName edit with TextEdit)
as
экспорт DYLD_FALLBACK_LIBRARY_PATH="$MONO_FRAMEWORK_PATH/lib:$DYLD_FALLBACK_LIBRARY_PATH:/usr/lib"
(добавлен /usr/lib) затем он отправляет файлы. Но я должен установить mono framework во всей системе, чтобы запустить это приложение. Как только я создаю установочный пакет mac, я не могу редактировать сценарий запуска. Я попытался скопировать libc.dylib
файл из /usr/lib
в Appbundle(App/MonoBundle/)
, но ошибка все еще существует. Кто-нибудь может мне помочь?
Ответ №1:
У меня была эта проблема. Вы добавляете библиотеки DLL monomac в пакет приложений?
Он пытается быть умным и удалять неиспользуемые методы и классы.
Я обнаружил, что он часто не включает методы, которые, по его мнению, не использовались по ошибке. Я не уверен, как заставить его включить отсутствующие методы, однако вы можете решить эту проблему, отключив связывание в настройках пакета. К сожалению, это делает приложение намного больше.