概括:
我正在尝试在 Mono 环境中手动加载程序集并在 Mac 上获取 BadImageFormatException,但它在 Windows 上运行良好。由于 Mono 在另一个应用程序中运行,因此我无法在启用调试的情况下从命令行运行该应用程序以获得更好的日志记录。
细节:
我用 C# 为 Unity3D 编辑器编写了一些插件。他们已经为 Mac 和 Windows 工作了一年多。我现在正试图通过在第一次从另一个目录(位于 PATH 变量中)调用我的类时手动加载它们来改变我的插件从 Unity 的默认“插件”目录加载的方式。在 Windows 上,我只需调用 Assembly.LoadFile 即可,一切正常。在 Mac 上,我收到 BadImageFormatException 错误。我认为这可能与 Mac 上的插件是一个捆绑包有关。
我试过了:
Assmebly.LoadFile("MyPlugin")
Assmebly.LoadFile("MyPlugin.bundle")
Assmebly.LoadFile("MyPlugin.bundle/Contents/MacOS/MyPlugin")
第一个(只是文件名)返回 FileNotFoundException。另外两个返回 BadImageFormatException 让我认为它找到了它,但还有其他问题。
有没有办法获得更多关于出了什么问题的信息?异常的 FusionLog 成员为 NULL,因为它在 Mac 上,我只收到基本消息。
我的插件是否需要在 Mac 上以不同方式构建才能像这样手动加载?
谢谢,布雷特