【发布时间】:2018-11-09 03:49:25
【问题描述】:
我想使用 C++/WinRT 为卡在 Win 10.0.14393(或 1609)上的 Lumia 制作一个应用程序。我用
创建了一个空白应用项目- 目标平台版本:10.0.17134.0 和
- 目标平台最小。版本:10.0.14393。
项目编译失败,出现以下错误:
错误 C2039:“DisconnectUnloadedObject”:不是“winrt::BlankApp2::implementation::MainPageT”的成员
错误 C2039:“UnloadObject”:不是“winrt::BlankApp2::implementation::MainPageT”的成员
这是错误还是故意行为?请注意,设置任何较新的 min。 version 导致构建成功。
【问题讨论】:
-
您的问题不是 C++/WinRT。问题是您在 XAML 中使用
x:Load,但x:Loadrequires 15063。 -
@Raymond,您很可能指向正确的方向。你也能告诉我如何避免它吗?我在两个 XAML 文件中都看不到它。
-
找出 DisconnectUnloadedObject 的来源。如果它来自生成的代码,则找出导致该代码生成的 XAML 标记。
-
很抱歉,我找不到是哪个 XAML 标记生成了这个函数定义。我从(新的)MainPage.xaml 中删除了几乎所有内容,但问题仍然存在。我倾向于认为这是工具配置中的问题,该工具将 idl 文件转换为实现文件。不幸的是,我还没有找到一种在不放弃 XAML 文件的情况下调整此过程的方法。
-
我建议使用较旧的编译器 Visual Studio 2015。我在 2015 年和 2017 年之间移动了 C++/WinRT 源代码,似乎存在一些真正的差异。我似乎总是有问题并最终摆弄解决方案属性。使用 C++/WinRT 移动目标的整个区域似乎有点令人担忧和混乱。
标签: c++ visual-studio-2017 c++-winrt