C# 获取C中P/Invoke调用加载的库的路径#

C# 获取C中P/Invoke调用加载的库的路径#,c#,mono,interop,C#,Mono,Interop,有人知道有没有办法通过C#interop调用加载库的路径 例如,如果我这样做: [DllImport("R")] private static extern IntPtr someFunc() Mono(我假设.NET)显式查找库所在的路径。有没有办法获取作为变量找到库的路径?(例如/usr/bin/libR.so或C:\Programs\R\R.dll”)为此,可以使用环境变量MONO\u LOG\u LEVEL和MONO\u LOG\u MASK,方法如下: MONO_LOG_LEVEL=

有人知道有没有办法通过C#interop调用加载库的路径

例如,如果我这样做:

[DllImport("R")]
private static extern IntPtr someFunc()

Mono(我假设.NET)显式查找库所在的路径。有没有办法获取作为变量找到库的路径?(例如/usr/bin/libR.so或C:\Programs\R\R.dll”)

为此,可以使用环境变量MONO\u LOG\u LEVEL和MONO\u LOG\u MASK,方法如下:

MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono YourProgram.exe

您可以通过玩关卡来获得更少的信息,但仍然足够。更多信息。

您可以使用环境变量MONO\u LOG\u LEVEL和MONO\u LOG\u MASK实现此目的,方法如下:

MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono YourProgram.exe

你可以通过玩关卡来获得更少的信息,但仍然足够。更多信息。

不可能。mono库进行复杂加载,但不将该信息存储在任何地方供以后编程使用。

不可能。mono库进行复杂加载,但不将该信息存储在任何地方供以后编程使用Ramatic使用。

更多pinvoke,在Windows上使用GetModuleFileName()。这当然不适合移植。更多pinvoke,在Windows上使用GetModuleFileName()。这当然不适合移植。谢谢!这就是我知道它有这些信息的原因。知道如何在控制台(而不是命令行)中获取它吗你说控制台是什么意思?我以为控制台和命令行是sameI。你不认为你可以从managed land中知道,也许你可以P/调用libmono来实现它?查看mono源代码,看起来库加载函数会将信息转储到屏幕上,但会将其保存到任何地方以供以后检索。谢谢!这是实际上,我是如何知道它有这些信息的。你知道如何在控制台(而不是命令行)中获取它吗你说控制台是什么意思?我以为控制台和命令行是sameI。你不认为你可以从managed land知道,也许你可以P/调用libmono来实现它?查看mono源,库加载函数似乎会将信息转储到屏幕上,但会将其保存到任何地方,以便以后检索。