You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio C#目标平台设为x86时NuGet包疑似x64导致运行报错

解决ENet-CSharp NuGet包架构不匹配导致的BadImageFormatException

一、查看NuGet包的目标架构

  • 本地已安装包的检查方法:
    1. 找到项目里的NuGet安装目录,一般是项目根目录\packages\ENet-CSharp.[版本号]\
    2. 进入lib或runtimes文件夹:
      • 如果能看到win-x86、win-x64这类子文件夹,说明包自带了对应架构的原生库
      • 直接检查.dll文件:用VS的开发者命令行运行dumpbin /headers [dll文件名],输出里找machine字段——x86对应8664 (x86),x64对应8664 (AMD64)
  • NuGet官方页面检查:
    搜ENet-CSharp的NuGet详情页,看"Assets"或"Dependencies"板块,这里会明确标注包支持的架构和运行时环境

二、获取x86架构的ENet-CSharp版本

  • 找官方预编译的x86包:
    1. 在NuGet包管理器里搜ENet-CSharp,扫一遍版本列表,有些包会在版本号或描述里标注架构(比如带x86后缀)
    2. 查包的源码仓库(如果有公开仓库),确认官方有没有发布x86的预编译包
  • 自己编译x86版本:
    如果官方没提供x86包,就克隆源码仓库,在VS里把项目的目标平台改成x86,编译生成对应的库,替换项目里原来引用的包文件就行
  • 注意原生依赖:
    ENet-CSharp依赖原生的ENet库,不管是用预编译包还是自己编译,都要确保配套的enet.dll也是x86架构的,不然还是会报错

内容的提问来源于stack exchange,提问作者IgorManowar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:20:59