我使用Mac 的可执行文件和以下命令行程序编译了该test.cs
文件(它引用了第三方库) :dmcs
dmcs /out:program.exe test.cs /target:exe /reference:/Users/kevin/path/to/bin/Debug/project.dll
这编译没有问题(不包括 /reference 参数会导致问题)。这program.exe
在当前目录中创建了一个可执行文件。当我尝试像这样运行它时:
mono program.exe
我收到以下错误:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'project, Version=3.4.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
我能想出解决这个问题的唯一方法是将文件复制project.dll
到包含该program.exe
文件的目录中。一旦我复制project.dll
到同一目录中,程序就可以正确运行。
我可以传递一个额外的参数来mono
在不同的程序目录中指定 DLL 吗?或者,我可以传递一个标志来dmcs
让它直接将 DLL 编译成二进制文件吗?