C#/WPF/.NET 找到的程序集清单定义与程序集引用不匹配

vs 窗口报错

引发的异常:“System.Windows.Markup.XamlParseException”(位于 PresentationFramework.dll 中)
“初始化“CircularGauge.CircularGaugeControl”时引发了异常。”,行号为“288”,行位置为“23”。

代码位置报错

FileLoadException: 未能加载文件或程序集“CircularGauge, 
PublicKeyToken=null”或它的某一个依赖项。
找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

解决方案 一

网上一大堆博主都说 版本不一致或对dll签名,都没解决我的问题。

最终在经过自己研究使用

清除联机缓存

卸载可能具有同一版本的强名称程序集的已安装应用程序的所有版本, mage.exe -cc 然后重新安装该

解决了问题

mage.exe的路径

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools

打开命令行(以管理员身份运行
输入以下命令

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\mage.exe" -cc

我的运行输出

C:\Users\dengd>"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\mage.exe" -cc
已清除应用程序缓存。                                                                                                                                                                                                                            C:\Users\dengd>  

清除前先退出程序
在这里插入图片描述
重新启动~~~最终我的问题没解决,如果你的解决了,恭喜你,如果也没解决继续阅读

(异常来自 HRESULT:0x80131040)

解决方案 二

最终查看csproj 引用 CircularGauge.dll的版本号居然没配置
在这里插入图片描述
左侧是使用下面这个软件打开分析我的运行软件的程序清单版本号,右侧是代码中的配置版本号,发现右侧没配置,所以添加了以下代码

Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL

顺便说下ildasm软件的位置

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\ildasm.exe"

最终样子

    <Reference Include="CircularGauge,Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <HintPath>dll\MatreialDesignDll\CircularGauge.dll</HintPath>
    </Reference>

再次使用VS运行项目时记得关闭ildasm软件,否则会报进程占用无法启动的错误,
部分小伙伴问题应该已经解决,如果没解决,推荐阅读我的另一篇文章
我的问题还是没解决,问题和之前一样,所以我想是否和PublicKeyToken=null有关系
另一篇文章《C#/WPF/.NET 第三方ddl强签名解决(xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)

## 解决方案 三

使用nuGet安装官方最新包
在这里插入图片描述
搜索你出问题的dll更新最新版本即可

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全面解读

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值