Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 相当于.NET/Mono应用程序的ldd_C#_.net_Mono_Nunit_Monodevelop - Fatal编程技术网

C# 相当于.NET/Mono应用程序的ldd

C# 相当于.NET/Mono应用程序的ldd,c#,.net,mono,nunit,monodevelop,C#,.net,Mono,Nunit,Monodevelop,我目前在MonoDevelop和Mono运行时方面遇到了一些问题。具体来说,当我在MonoDevelop中运行使用NUnit创建的单元测试时,会出现Unix传输错误。。我在某个地方读到,它是由windows版本的DLL引起的,我想检查NUnit库“链接所针对的”库 因此,我正在寻找一个等效的ldd,而不必自己编写它 我没有找到这样的东西,有什么吗 提前感谢。有关此主题的有用信息可在Scott Hanselman的博客帖子中找到: 当涉及到程序集时,有三个方面需要了解: 在它发生之前绑定-你想要什

我目前在MonoDevelop和Mono运行时方面遇到了一些问题。具体来说,当我在MonoDevelop中运行使用NUnit创建的单元测试时,会出现Unix传输错误。。我在某个地方读到,它是由windows版本的DLL引起的,我想检查NUnit库“链接所针对的”库

因此,我正在寻找一个等效的ldd,而不必自己编写它

我没有找到这样的东西,有什么吗


提前感谢。

有关此主题的有用信息可在Scott Hanselman的博客帖子中找到:

当涉及到程序集时,有三个方面需要了解:

在它发生之前绑定-你想要什么? ILDASM或Reflector将告诉您程序集所需的内容以及编译的内容 反对 绑定,因为它发生-它看起来在哪里? Fusion如果需要,程序集绑定日志查看器将显示所有程序集绑定 将HKLM\Software\Microsoft\Fusion\ForceLog注册表值设置为1 发生后绑定-你得到了什么? Process Explorer将告诉您内存中加载了什么DLL程序集以及从何处加载 它来了。 我相信它也可以与Mono运行时一起使用,并且应该向您展示MonoDevelop的运行实例使用了哪些库

顺便说一句,我在测试名为非托管库的代码时看到过unix传输错误,这会导致SEGFULT内存损坏,因此请记住,您的问题可能不是NUnit本身造成的。

如果打开MONO_LOG_级别,您可以看到MONO在运行时尝试解决程序集依赖关系。这将遍历全局程序集缓存和本地目录,这可能有助于您更好地了解应用程序需要的特定.dll

显示无法解析的.dll的示例:

$ MONO_LOG_LEVEL=debug mono Clojure.Main.exe

...
Mono: Assembly Loader probing location: '/usr/lib/mono/gac/Clojure/1.5.0.0__cf3caecd327a2fa9/Clojure.dll'.
Mono: Assembly Loader probing location: '/usr/lib/Clojure.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/Facades/Clojure.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/gac/Clojure/1.5.0.0__cf3caecd327a2fa9/Clojure.exe'.
Mono: Assembly Loader probing location: '/usr/lib/Clojure.exe'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/Facades/Clojure.exe'.
Mono: The following assembly referenced from /home/bonh/foo/Clojure.1.5.0.2/tools/net40/Clojure.Main.exe could not be loaded:
 Assembly:   Clojure    (assemblyref_index=1)
 Version:    1.5.0.0
 Public Key: cf3caecd327a2fa9
etc.

是的,那正是我害怕的。我在某个地方读到过类似于“npgsql.dll”的东西,带有Windows代码,而不是*nix系统。。。但事实并非如此。。。我不知道发生了什么。谢谢,这正是我想要的。但这对我没有任何帮助…:x