从命令行运行C#可执行文件并指定所需库的路径

时间:2011-08-02 11:52:33

标签: c# mono

我正在运行一个C#可执行文件,它是通过引用.Net库构建的。 .NetLibrary是C ++库的包装器,它位于另一个文件夹中(与.NetLibrary不同的文件夹)。

C ++库位于/ usr / local bin中 .Net库位于/ projects / csharp / NetWrapperProj / bin / Debug中 可执行文件位于/ projects / csharp / testharness / bin / Debug

正如您可能已经从路径中猜到的那样,我在Linux上使用mono运行.Net(Ubuntu 10.0.4)。 mono version 2.10。

如何指定可执行文件所需的二进制文件 - 以避免未处理的异常:抛出System.IO.FileNotFoundException类型异常?

1 个答案:

答案 0 :(得分:4)

通常,DLL /库需要与可执行文件位于同一目录中。来自Mono website

  

如果未在DllMap中明确指定库位置   在应用程序或程序集.config文件中输入,Mono将搜索   几个地方的图书馆:

     
      
  • 从中加载引用图像的目录。
  •   
  • 在任何地方,系统的动态加载程序都配置为查看   用于共享库。例如在Linux上,这在。中指定   $ LD_LIBRARY_PATH环境变量和/etc/ld.so.conf文件。上   windows改为使用$ PATH环境变量。
  •   

您可以在Mono网站上阅读更多有关如何解决此问题的信息。