修复错误:“尝试加载格式不正确的程序”






4.93/5 (6投票s)
关于如何修复运行最新版 Windows API Code Pack 的 ShellObjectWatcherSampleWPF 示例项目时出现的错误的帖子。
在尝试运行最新版本的 Windows API Code Pack 中的示例项目 ShellObjectWatcherSampleWPF
时,我在 Visual Studio 2008 和 2010 中都遇到了以下问题:
或者以更适合搜索引擎的方式表达:
“无法创建程序集 ‘
ShellObjectWatcherSampleWPF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
’ 中定义的 ‘MainWindow
’ 的实例。目标引发了异常。标记文件 ‘MainWindow.xaml’ 第 1 行第 9 列出现错误。”
检查内部异常,显示如下:
“无法加载文件或程序集 ‘
Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
’ 或其依赖项。**尝试加载格式不正确的程序。**”
通常,当我们遇到“格式不正确”的错误时,这意味着项目和机器的位数不匹配。
由于我的系统是基于 x64 的,而项目编译为 32 位,因此我们遇到了问题。
通常,这无关紧要,因为 .NET 是与位数无关的(即时编译的又一个优势),但由于该项目严重依赖 P/Invoke,因此确实会产生影响。
解决方案很简单,就是转到 项目属性 | 构建 并将 平台目标 更改为 x64。
暂时就到这里,
Arik Poznanski。