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

4

我正在使用monomac编写一个程序,用于将文件上传到服务器。我使用了FtpWebRequest

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

当我在monodevelop中运行此代码时,它可以正常运行。但是,当我发布并在monodevelop之外运行时,会出现错误“类型初始化程序为System.Net.WebRequest抛出异常。”

我研究了这个错误,并发现它与库 libc.dylib 有问题。如果我在app(AppBundle/MacOs/AppName编辑使用TextEdit) 的启动脚本中更改 DYLD_FALLBACK_LIBRARY_PATH,如下所示:

export 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

我遇到了这个问题。你有将monomac dll添加到应用程序包中吗?

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接