Caliburn.Micro.Message类型初始化异常求助:缺失指定程序集
解决Caliburn.Micro中System.TypeInitializationException异常
异常详情
System.TypeInitializationException:“Caliburn.Micro.Message”的类型初始值设定项引发异常。
内部异常1:FileNotFoundException: 无法加载文件或程序集“System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。系统找不到指定的文件。
解决方案
- 安装对应程序集:
System.Windows.Interactivity已被微软迁移至Microsoft.Xaml.Behaviors.WpfNuGet包,打开NuGet包管理器,搜索并安装该包。若需适配4.5版本,选择兼容的对应版本即可。 - 启用复制本地:在项目引用中找到
Microsoft.Xaml.Behaviors(或System.Windows.Interactivity),右键打开属性面板,将“复制本地”设置为True,确保编译后dll文件被复制到输出目录。 - 添加绑定重定向:若存在版本不匹配问题,在项目的
App.config(或Web.config)中添加以下配置,将旧版本重定向到已安装的实际版本:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="你的实际版本号" /> </dependentAssembly> </assemblyBinding> </runtime> - 清理重建项目:删除项目的
bin和obj目录,清理解决方案后重新编译,避免缓存残留导致的文件缺失问题。
内容的提问来源于stack exchange,提问作者KRISHNAVENI
相关产品推荐
相关产品推荐

