BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid. の解決方法

Unityでビルドしようとした時に出たエラー。

BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.
Mono.Cecil.PE.ImageReader.ReadImage ()
Mono.Cecil.PE.ImageReader.ReadImage (Disposable`1 stream, System.String file_name)
Mono.Cecil.ModuleDefinition.ReadModule (Disposable`1 stream, System.String fileName, Mono.Cecil.ReaderParameters parameters)
Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName, Mono.Cecil.ReaderParameters parameters)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:181
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:88
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

ビルドし始めてすぐにエラーになっていました。

解決方法

今回UnityプロジェクトがUSBメモリに入っていて、そのままUSB上でビルドしたのですが、それが良くなかった模様。
内部のHDDにコピーして、それを新たにUnityで開いてからビルドすると無事通りました!

USBメモリ上でも何回かビルド通ってたんですけどね…
「executable (.exe) or library (.dll)が不適切」って言われているので.dllファイルが問題だったっぽい。(Macだから.exeファイルは関係ないだろうし)

HDD容量がいっぱいなのでUSBメモリ上で管理してたんですが、やっぱりやりにくそうです。

コメント

  1. Macの外付けと本体の行き来がWinより権限の問題があるようです。。。
    私も本体に移したらうまくいきました。
    めちゃ助かりました。