Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我能';无法部署我的mono应用程序,因为DllNotFoundException_C#_Mono - Fatal编程技术网

C# 我能';无法部署我的mono应用程序,因为DllNotFoundException

C# 我能';无法部署我的mono应用程序,因为DllNotFoundException,c#,mono,C#,Mono,当我尝试使用以下命令运行mono应用程序时: mono SimpleBrowser.exe 我的Mac电脑出现以下错误: Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Gtk.Application ---> System.DllNotFoundException: glibsharpglue-2 at (wra

当我尝试使用以下命令运行mono应用程序时:

mono SimpleBrowser.exe
我的Mac电脑出现以下错误:

Unhandled Exception: System.TypeInitializationException: An exception  was thrown by the type initializer for Gtk.Application ---> System.DllNotFoundException: glibsharpglue-2
  at (wrapper managed-to-native) GLib.Thread:glibsharp_g_thread_supported ()
  at GLib.Thread.get_Supported () [0x00000] in <filename unknown>:0
  at Gtk.Application..cctor () [0x00000] in <filename unknown>:0    
  --- End of inner exception stack trace ---
  at SimpleBrowser.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0  [ERROR]
  FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Gtk.Application ---> System.DllNotFoundException: glibsharpglue-2
  at (wrapper managed-to-native) GLib.Thread:glibsharp_g_thread_supported ()
  at GLib.Thread.get_Supported () [0x00000] in <filename unknown>:0
  at Gtk.Application..cctor () [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at SimpleBrowser.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
未处理的异常:System.TypeInitializationException:Gtk.Application的类型初始值设定项引发异常-->System.DllNotFoundException:glibsharpglue-2
at(包装器管理为本机)GLib.Thread:glibsharp\u g\u Thread\u受支持()
0中的GLib.Thread.get_Supported()[0x00000]
在Gtk.Application..cctor()[0x00000]中:0
---内部异常堆栈跟踪的结束---
在SimpleBrowser.MainClass.Main(System.String[]args)[0x00000]中:0[错误]
致命的未处理异常:System.TypeInitializationException:Gtk的类型初始值设定项引发异常。应用程序-->System.DllNotFoundException:glibsharpglue-2
at(包装器管理为本机)GLib.Thread:glibsharp\u g\u Thread\u受支持()
0中的GLib.Thread.get_Supported()[0x00000]
在Gtk.Application..cctor()[0x00000]中:0
---内部异常堆栈跟踪的结束---
在:0中的SimpleBrowser.MainClass.Main(System.String[]args)[0x00000]处

我尝试在Mac上搜索丢失的glibsharpglue-2库,但找不到。我不确定问题出在哪里,因为当我从Monodevelop启动应用程序时,应用程序会运行。

来自一个有类似问题的博客条目:编辑:更新链接:

这里的问题是缺少环境变量。我这样修改了/etc/profile(第二行和第三行应该在同一行,没有点,我只是将其分解以适合页面):

export MONO\u FRAMEWORK\u PATH=/Library/Frameworks/MONO.FRAMEWORK/Versions/Current
export DYLD\u FALLBACK\u LIBRARY\u PATH=“$MONO\u FRAMEWORK\u PATH/lib:。。。

…$DYLD\u FALLBACK\u LIBRARY\u PATH:/usr/local/lib:/usr/lib“

来自具有类似问题的博客条目:编辑:更新链接:

这里的问题是缺少环境变量。我这样修改了/etc/profile(第二行和第三行应该在同一行,没有点,我只是将其分解以适合页面):

export MONO\u FRAMEWORK\u PATH=/Library/Frameworks/MONO.FRAMEWORK/Versions/Current
export DYLD\u FALLBACK\u LIBRARY\u PATH=“$MONO\u FRAMEWORK\u PATH/lib:。。。

…$DYLD\u FALLBACK\u LIBRARY\u PATH:/usr/local/lib:/lib:/usr/lib“

在执行应用程序之前,需要设置此环境变量:

export DYLD\u FALLBACK\u LIBRARY\u PATH=“/LIBRARY/Frameworks/Mono.framework/Versions/Current/lib:/usr/local/lib:/usr/lib”
由于每次执行应用程序时都很难做到这一点,因此您应该创建一个包装器脚本来为您完成此操作:

#/bin/bash
export DYLD\u FALLBACK\u LIBRARY\u PATH=“/LIBRARY/Frameworks/Mono.framework/Versions/Current/lib:/usr/local/lib:/usr/lib”
mono SimpleBrowser.exe“$@”
这只是一个简单的示例,这里有一个更高级的示例:

#/bin/bash
MONO_FRAMEWORK=/Library/Frameworks/MONO.FRAMEWORK/Versions/Current/
export DYLD\u FALLBACK\u LIBRARY\u PATH=“$MONO\u FRAMEWORK/lib:/usr/local/lib:/usr/lib”
EXE_DIR=`dirname$0`
$MONO_FRAMEWORK/MONO$MONO_OPTIONS$EXE_DIR/SimpleBrowser.EXE“$@”

您所要做的就是确保脚本与执行它的可执行文件位于同一目录中。它允许您将选项传递给mono(例如--debug)。mono通常就是这样做的(例如,
cat/usr/bin/mkbundle
),它位于。

在执行应用程序之前,您需要设置此环境变量:

export DYLD\u FALLBACK\u LIBRARY\u PATH=“/LIBRARY/Frameworks/Mono.framework/Versions/Current/lib:/usr/local/lib:/usr/lib”
由于每次执行应用程序时都很难做到这一点,因此您应该创建一个包装器脚本来为您完成此操作:

#/bin/bash
export DYLD\u FALLBACK\u LIBRARY\u PATH=“/LIBRARY/Frameworks/Mono.framework/Versions/Current/lib:/usr/local/lib:/usr/lib”
mono SimpleBrowser.exe“$@”
这只是一个简单的示例,这里有一个更高级的示例:

#/bin/bash
MONO_FRAMEWORK=/Library/Frameworks/MONO.FRAMEWORK/Versions/Current/
export DYLD\u FALLBACK\u LIBRARY\u PATH=“$MONO\u FRAMEWORK/lib:/usr/local/lib:/usr/lib”
EXE_DIR=`dirname$0`
$MONO_FRAMEWORK/MONO$MONO_OPTIONS$EXE_DIR/SimpleBrowser.EXE“$@”

您所要做的就是确保脚本与执行它的可执行文件位于同一目录中。它允许您将选项传递给mono(例如--debug)。mono通常就是这样做的(例如,
cat/usr/bin/mkbundle
),它位于。

这个/etc/profile文件的确切位置。我所拥有的一个没有上面所示的语句。有没有一种方法可以从MonoDevelop IDE本身中进行这些更改?谢谢,但是我的版本默认安装了monoMac。我无法编辑配置文件,因为它已锁定:/n是否有办法解决此问题。抱歉,我对Mac开发非常陌生。请尝试
sudo open-a text编辑/etc/profile
。我实际上并不使用Mac电脑,如果您不想为所有用户这样做,您也可以在您的
~/.profile
中这样做。只有在从命令行运行时才需要env变量,而不是在MonoDevelop IDE中运行。这个/etc/profile文件的确切位置是什么。我所拥有的一个没有上面所示的语句。有没有一种方法可以从MonoDevelop IDE本身中进行这些更改?谢谢,但是我的版本默认安装了monoMac。我无法编辑配置文件,因为它已锁定:/n是否有办法解决此问题。抱歉,我对Mac开发非常陌生。请尝试
sudo open-a text编辑/etc/profile
。我实际上并不使用Mac电脑,如果您不想为所有用户这样做,您也可以在您的
~/.profile
中这样做。只有在从命令行运行时才需要env变量,而不是在MonoDevelop IDE中。这正是我所需要的。谢谢将env添加到我的.profile中。谢谢,不过我需要
$MO