【问题标题】:[A]Type cannot be cast to [B]Type of matching assembly versions[A]Type 不能转换为 [B]Type 匹配的程序集版本
【发布时间】:2020-12-20 01:32:56
【问题描述】:

最近我开始收到这个奇怪的错误,这只是 Designer 的问题,应用程序运行没有问题。

我试过了

  • 清除影子缓存
  • 删除 bin/obj 文件夹
  • 重建解决方案
  • 删除并重新添加上述程序集并再次执行上述所有操作

这是完整的错误

[A]MahApps.Metro.Controls.MetroAnimatedSingleRowTabControl cannot be cast to 
[B]MahApps.Metro.Controls.MetroAnimatedSingleRowTabControl. 
Type A originates from 'MahApps.Metro, Version=1.1.3.174, Culture=neutral, PublicKeyToken=null' in the context 'LoadFrom' at location 'C:\Users\usr\AppData\Local\Microsoft\VisualStudio\14.0\Designer\ShadowCache\x2tfp5zd.b23\jgke2cb5.0ws\tmp\MahApps.Metro.dll'.
Type B originates from 'MahApps.Metro, Version=1.1.3.174, Culture=neutral, PublicKeyToken=null' in the context 'LoadNeither' at location 'C:\Users\usr\AppData\Local\Microsoft\VisualStudio\14.0\Designer\ShadowCache\majxo3bg.w3c\dwou5m4n.p1u\MahApps.Metro.dll'.
HeRgoT  C:\Users\usr\MyProject\MyProject\MainWindow.xaml

知道是什么原因吗?

【问题讨论】:

  • 尝试使用强名称签署程序集。
  • 快速说明,当我用同一个程序集中的不同控件替换控件时,问题消失了
  • 当引用项目的目标框架不同(4.5 vs 4.5.2)时,我遇到了这个问题。
  • @Herman 哦,因为 MahApps 是开源的,我将尝试针对 4.6(我的项目使用的 .net 版本)构建它

标签: wpf visual-studio designer


【解决方案1】:

我遇到了同样的问题,这是由影子缓存文件夹中的 mahapps.metro.dll 的多个副本引起的,为了解决这个问题,我所做的是: 1.卸载mahapps.metro.dll作为项目的参考 2.关闭Visual Studio 3.清除Shadow缓存文件夹,然后重启VS。

【讨论】:

    猜你喜欢
    • 2011-05-06
    • 2011-12-08
    • 2013-01-04
    • 2013-11-03
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 2019-07-19
    相关资源
    最近更新 更多