`无法加载文件或程序集';Microsoft.Windows.Shell`,Prism-C#

`无法加载文件或程序集';Microsoft.Windows.Shell`,Prism-C#,c#,wpf,prism,mef,C#,Wpf,Prism,Mef,我正在尝试运行PRISM(MEF)示例项目,但出现以下错误: 托管调试助手“BindingFailure”在中检测到问题 'Prism4MefDemo.vshost.exe' 其他信息:具有显示名称的程序集 “Microsoft.Windows.Shell”未能在“加载”绑定上下文中加载 ID为1的AppDomain的。故障原因是: System.IO.FileLoadException:无法加载文件或程序集 'Microsoft.Windows.Shell,版本=3.5.41019.1,区域性

我正在尝试运行PRISM(MEF)示例项目,但出现以下错误:

托管调试助手“BindingFailure”在中检测到问题 'Prism4MefDemo.vshost.exe'

其他信息:具有显示名称的程序集 “Microsoft.Windows.Shell”未能在“加载”绑定上下文中加载 ID为1的AppDomain的。故障原因是: System.IO.FileLoadException:无法加载文件或程序集 'Microsoft.Windows.Shell,版本=3.5.41019.1,区域性=中性, PublicKeyToken=31bf3856ad364e35'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考资料。(来自HRESULT的异常:0x8013100)

我试图删除并手动添加对Microsoft.Windows.Shell的引用,但仍然无效

此DLL的版本是
3.0.1.0
,而不是
3.5.41019.1

这是带有例外的行:

    protected override DependencyObject CreateShell()
    {
        return this.Container.GetExportedValue<ShellWindow>();
    }
protected override DependencyObject CreateShell()受保护的覆盖依赖对象
{
返回此.Container.GetExportedValue();
}
我怎样才能修好它?
谢谢。

所以在尝试了所有操作之后,我在我的计算机中查找了其他文件(Microsoft.Windows.Shell.dll),并在
MicrosoftRibbon for WPF\V3.5
文件夹中发现了异常(
3.5.41019.1
)所期望的更新版本

这是strang,因为最新版本的NuGet
是3.0.1


无论如何,谢谢。

将Microsoft.Windows.Shell.dll v3.5.41019.1添加到您的项目引用中可以解决问题。

最后,我通过安装多语言应用程序工具包解决了这个问题。并从C:\Program Files(x86)\Multiling App Toolkit位置添加对“Microsoft.Windows.Shell.dll”的引用或将dll复制到您的专用程序集文件夹并引用它

当您从Nuget安装Microsoft.Windows.Shell.dll时,它正在安装v3.0.1,但实际的预期版本是v3.5.41019.1。您将从上述路径获得此新版本


谢谢

我们在使用Ribbon控件时遇到了这个问题


解决方案是从XAML的最开始删除
功能区:
前缀,并使用默认的功能区控件,而不是使用名称空间的控件。

您使用的是什么版本的.net,您是否强制使用特定的cpu体系结构?OP在问题中明确表示,他们已经尝试删除并重新添加引用。有时NuGet中软件包的最后一个版本的编号较低,因为这是安全版本,而不是较新的Beta版。。。你可以通过将你提到的版本放在安装包命令行的末尾来获得你的理想包…搜索了很多!