Monomac Исключение как инициализатор типа для System.Net.WebRequest - PullRequest
4 голосов
/ 30 сентября 2011

Я пишу программу в 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) как

export DYLD_FALLBACK_LIBRARY_PATH="$MONO_FRAMEWORK_PATH/lib:$DYLD_FALLBACK_LIBRARY_PATH:/usr/lib"

(добавлено / usr / lib), то он отправляет файлы. Но я долженУстановите моно-фреймворк во всей системе для запуска этого приложения. Как только я создаю пакет установщика Mac, я не могу отредактировать скрипт запуска. Я попытался скопировать файл libc.dylib из /usr/lib в Appbundle(App/MonoBundle/), но ошибка все еще существует. Может кто-нибудь помочья?

1 Ответ

0 голосов
/ 15 ноября 2012

У меня была эта проблема. Вы добавляете Monomac DLL в пакет приложений?

Он пытается быть умным и удаляет неиспользуемые методы и классы.

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

...