因此,如果 C# 可以使用 WinRT 组件中实现的类型,那么听起来您可能没有包含头文件。您是否在文件中包含了 Windows Rutime 组件的头pch.h
文件?
假设您有一个称为Cat
Windows 运行时组件的 Windows 运行时投影类型MyComponent
,如果您的 .winmd 文件的名称是“MyComponent.winmd”,请执行以下操作:
在您的使用项目(例如,您的 .exe)中,添加对 .winmd 文件的引用。
构建项目(必须这样做!)
在文件中包含它的标题pch.h
:
#include "winrt/MyComponent.h" <-- don't forget!
完成后,您应该能够找到 Cat(不要忘记命名空间范围解析等)
// some consuming .cpp file
#include "pch.h"
using namespace winrt;
using namespace Windows::Foundation;
using namespace MyComponent; // <-- Add for convenience ...or not
App::App()
{
Cat tabby(); // <-- Should work like a charm ;)
}