我有一台运行 Windows 7 64 位的 x64 计算机。自本周初以来,我的情况似乎很奇怪。
如果我构建并运行一个平台目标设置为 x86 的 WPF 应用程序,则在尝试创建网格时遇到 MissingMethodException:
var g = new Grid();
但是,创建 StackPanel 效果很好:
var s = new StackPanel();
如果我将平台目标切换到 x64 或 AnyCpu,则两个代码都可以正常工作。我正在考虑框架中的损坏的程序集,但它看起来确实很奇怪......有什么想法吗?
Update:
我一直在与 Microsoft 内部 WPF 团队的人员保持联系。然而,他们没有时间查看我的机器来了解问题所在。与此同时,我必须重新安装我的机器才能继续正常工作。感谢大家的帮助。我认为这个问题与 WOW64 功能有关,但很难更准确。如果我找到更多信息,我会更新这个问题。
我也有这个配置,并且在构建使用网格的 x86 应用程序时没有遇到任何问题。
我会卸载您正在使用的 .NET Framework 版本(看起来像 .NET 4.0)并重新安装它。为了彻底起见,您还可以卸载 Visual Studio 2010 并重新安装它(尽管这可能有点过头了)。
该问题必须仅存在于您正在使用的机器上……否则就会有暴民和干草叉之类的……前往华盛顿州雷德蒙德。 :-) 您可以尝试在另一台机器上创建一个示例项目......只是为了您的理智。 :-)
Update
我只是想补充一点,System.Windows.Controls.Grid 位于PresentationFramework 程序集中。查看此文件在您计算机上的存储位置可能会很有趣......看看您是否注意到任何事情。解决方案仍然可能是重新安装......但是嘿,更多信息总是更好。
对于 .NET 4.0,PresentationFramework 程序集位于:
C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \PresentationFramework \ v4.0_4.0.0.0__31bf3856ad364e35
对于 .NET 3.0/3.5,PresentationFramework 程序集位于:
C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)