c#报System.BadImageFormatException

项目内使用了第三方的非托管dll库,导致运行抛出如下异常:

未处理System.BadImageFormatException
Message: “System.BadImageFormatException”类型的未经处理的异常在 XD.Vision.exe 中发生
其他信息: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

原因

第三方dll的目标运行平台与项目不一致。直接在项目属性内设置目标平台环境,可能仍会失败(因该项目的 csproj文件内有冗余的配置项导致失败)

解决办法:

用文本工具打开问题项目的 csproj文件,直接修改,如有冗余配置项则删除。


<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
</PropertyGroup>

posted @ 2023-02-18 22:11  千年海岩  阅读(472)  评论(0编辑  收藏  举报