LayoutAwarePage在命名空间VS2012中不存在bug?

时间:2012-09-13 07:29:53

标签: c# microsoft-metro visual-studio-2012

我正在尝试在我的Win 8应用程序上运行搜索合同,但在向我的项目添加搜索合同后,我收到以下命名空间错误:

LayoutAwarePage does not exist in namespace App1.Common.

我在xaml中有正确的命名空间声明:

xmlns:common="using:App1.Common"

并且LayoutAwarePage位于正确的命名空间App1.Common

重新启动VS2012或执行删除和重建无济于事。 要复制此问题,请尝试以下操作:

1)创建新的空白地铁应用程序

2)添加对Visual C ++运行时的引用

3)向项目添加搜索合同(单击是以自动添加其他内容,如LayoutAwarePage等)

4)重建并打开SearchResultsPage1.xaml

如果您按照上述步骤操作,则会看到错误,并注意到SearchResultsPage1未显示在设计器中。

仅在向Visual C ++运行时添加引用时才会出现此问题。没有这个参考,添加搜索合同就可以了!

有什么想法吗?我在这里错过了什么?您可以使用上述步骤复制问题吗?

10 个答案:

答案 0 :(得分:27)

我刚遇到同样的问题。

关闭VS并删除相关的SUO文件(在解决方案的文件夹中,可能隐藏)就像魅力一样。

答案 1 :(得分:12)

您必须添加对WinRTXamlToolkit的引用: 来自VS2012 Express

  1. 右键单击“参考”项目;
  2. 选择“管理NuGet包...”;
  3. 在新窗口左侧的菜单中选择“在线”,然后选择“Windows& Packages”;
  4. 搜索名为“WinRTXamlToolkit”的库,选择它然后单击“安装”按钮。

答案 2 :(得分:6)

如果打开,请关闭VS中的所有标签。

然后点击Build->清洁解决方案

接下来点击构建 - >重建解决方案

现在打开xaml文件。

希望它能运作

答案 3 :(得分:3)

对我来说,这个令人愤怒的错误只需从Debug Any CPU更改为x86即可解决,即使设计师打开它也会重新焕发生机。然后,当您完成后,您可以关闭并更改回任何CPU并构建得很好。

答案 4 :(得分:1)

我删除了Bing Maps SDK的引用,并将Platform Target设置回Any CPU,它解决了我的问题。

答案 5 :(得分:1)

我遇到了这个棘手的问题,可能与使用SQLite for Windows RT add on(v3.7.15)和随机的“设计视图不适用于x64和ARM目标平台”错误有关。

无论如何,对于我来说,一旦我将目标平台更改为x86以用于项目和解决方案,一切都能正常运行,包括布局感知功能。

右键单击解决方案资源管理器中的项目和解决方案,单击“属性”,然后选择x86体系结构。

没有“任何CPU”作为目标让我有点紧张,所以如果有人知道如何使用SQLite和布局感知页面,请发出声明。

答案 6 :(得分:1)

关闭所有xaml文件并重建项目。如果cs文件中有错误,请先修复它们。对我来说,将public static MainPage Current;添加到主页很简单。

答案 7 :(得分:1)

我刚刚卸载了项目并在VS'2012重新加载它并开始工作。没有删除任何必要的东西。

答案 8 :(得分:0)

在编译UWP应用程序时,我得到了一长串类似的错误。然而,隐藏在他们中间的是几个真正的编译错误。当我修正了真正的错误时,缺失的引用也消失了。

因此,首先修复任何其他编译错误,然后查看这些“名称空间中缺少”错误是否会消失。

编辑: 我的同事在VS 2017中也有这个错误。 通过“生成”菜单清理解决方案不起作用。右键单击解决方案资源管理器中的项目并清理每个项目,然后重新构建,工作。

EDIT2: 刚刚遇到这个问题。 22“缺少命名空间”错误。
我从ViewModel中删除了一个按钮处理程序,但忘记从XAML代码中删除该按钮。当我修复了这个真正的错误时,22“缺少名称空间”错误也消失了。

答案 9 :(得分:-1)

在Xaml中添加新的基本页面时,我在Visual Studio 2012中也遇到了同样的问题。我只运行我的应用程序并自动清除了错误。