Monomac由System.Net.WebRequest的类型初始化程序引发的异常

时间:2011-09-30 05:31:54

标签: c# mono monodevelop monomac app-bundle

我正在将monomac中的程序写入ftp文件到服务器。我使用FtpWebRequest作为

FtpWebRequest request =(FtpWebRequest)WebRequest.Create("ftp://serverip/filename");

当我在monodevelop中运行此代码时,它正常运行。但是当我发布它并在monodevelop之外运行时,我收到错误“由System.Net.WebRequest初始化类型抛出的异常。

我研究了这个错误,发现它存在库libc.dylib的问题。如果我将app(AppBundle/MacOs/AppName edit with TextEdit)的启动脚本中的DYLD_FALLBACK_LIBRARY_PATH更改为

导出DYLD_FALLBACK_LIBRARY_PATH="$MONO_FRAMEWORK_PATH/lib:$DYLD_FALLBACK_LIBRARY_PATH:/usr/lib"

(添加了/ usr / lib) 然后它发送文件。但我必须在所有系统中安装mono框架才能运行此应用程序。一旦我创建了一个mac安装程序包,我就无法编辑启动脚本。我尝试将libc.dylib文件从/usr/lib复制到Appbundle(App/MonoBundle/),但仍然存在错误。 谁能帮我?

1 个答案:

答案 0 :(得分:0)

我有这个问题。您是否将monomac dll添加到应用包中?

它试图变得聪明并删除未使用的方法和类。

我发现它通常不会包含它认为没有被错误使用的方法。 我不确定如何强制它包含缺少的方法,但是你可以通过关闭包设置中的链接来解决这个问题。不幸的是,这使应用程序更大。