Windows Presentation Foundation (WPF) 项目不支持网格

Posted

技术标签:

【中文标题】Windows Presentation Foundation (WPF) 项目不支持网格【英文标题】:Grid is not supported in a Windows Presentation Foundation (WPF) project 【发布时间】:2012-10-17 04:52:56 【问题描述】:

我正在学习如何创建Class Library (Windows Store apps) 并使用UserControl 模板向其中添加用户控件。

然后我在随附的 XAML 中添加了一个 Grid 标记。但是,标签带有蓝色波浪线下划线,当我将鼠标悬停在标签上时,

工具提示出现。

该库似乎构建没有错误。我已将该库添加到应用程序并在其代码中使用该控件。该应用程序也构建得很好。但是,当我运行应用程序时,我得到了XamlParseException 异常。

我正在使用 Visual Studio 2012 RTM。库和应用程序都只引用了两个标准程序集(.NET for Windows Store appsWindows)。

我可能做错了什么,我应该如何修复库?

【问题讨论】:

【参考方案1】:

转到 “构建 > 配置管理器...” 并为您的所有项目创建一个适用于 x86 的新平台。 它不必是活动的,您可以将其保留为 Any CPU。 希望它适用于我的...

【讨论】:

【参考方案2】:

在我的情况下,我从 Debug 切换到 Release,然后再返回,错误就消失了。

【讨论】:

周一早上走进办公室“我们已经遇到了这些奇怪的问题”。拯救了我的一天【参考方案3】:

我最近遇到了同样的错误,在输出窗口中发现了以下内容:

10>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFX.targets(268,9): error MC6000: Project file must include the .NET Framework assembly 'WindowsBase, PresentationCore, PresentationFramework' in the reference list.

我的解决方案是将缺少的引用添加到我的项目中。

【讨论】:

对我来说类似,当我查看我的参考资料时,有很多警告图标。原来我只需要构建我的项目来恢复 nuget 包,然后关闭并重新打开解决方案。【参考方案4】:

对我来说,将应用程序属性中的“目标框架”设置为 .NET 4.0

【讨论】:

【参考方案5】:

对于许多 XAML 资源错误,这似乎有点“包罗万象”。到目前为止,我发现了两个原因:

    在适当的上下文之外声明资源 - 例如直接在 UserControl 标签中,而不是 UserControl.Resources。

    忘记为“不受支持的”类包含正确的命名空间。基本 ResourceDictionary 中的示例,未定义 sys 命名空间:

    <ResourceDictionary> 
        <sys:string>I'm not supported</sys:string>
    </ResourceDictionary>
    

【讨论】:

【参考方案6】:

我能够解决我的类似问题..

UserControl is not supported in a Windows Presentation Foundation (WPF) project

.. 删除 PresentationFramework 引用并通过 nuget 重新添加它。

【讨论】:

【参考方案7】:

[转发评论作为答案]

我能够毫无问题地完成这些步骤,而且您似乎也能够做到。也许还有其他一些不经意的修改/设置?

【讨论】:

【参考方案8】:

这是 xaml 让自己感到困惑。我在一个项目上有错误,而在另一个项目上没有。在网格错误之前查看 xaml 的顶部,看看是否有对其他控件的引用。尝试进行会导致错误的修改并重建其中一个控件。然后将其放回原样以成功构建,看看这是否会使网格错误消失。 (对我有用)

【讨论】:

【参考方案9】:

与Felix D.s answer 非常相似,我从 .csproj 文件中发现一个引用已被删除。 显然用你需要的框架替换 3,或者使用项目属性来设置版本(我认为添加了这个引用)

Evil Dog Pie 对我来说是第一步,因为出现了一些其他问题。输出日志里总有一堆信息

<Reference Include="PresentationFramework">
  <RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>

【讨论】:

【参考方案10】:

此问题是由于您在项目中选择的 .NET 版本较低。

要解决这个问题,请从向上菜单中选择项目,然后选择您的项目属性,然后从目标框架部分选择更高版本的 .NET Framework!

希望您的问题得到解决。 真诚的

【讨论】:

以上是关于Windows Presentation Foundation (WPF) 项目不支持网格的主要内容,如果未能解决你的问题,请参考以下文章

Windows Presentation Foundation(WPF)项目中不支持网格

Windows Presentation Foundation (WPF) 项目中不支持xxx的解决

Windows Presentation Foundation (WPF) 项目不支持应用程序

在 Windows Presentation Foundation 中使用 MVC 而不是 MVVM

我的 C# .NET 团队是不是应该迁移到 Windows Presentation Foundation? [关闭]

vuejs Newline required at end of file but not foun