如何复制(我们将以 Windows 终端为例):
克隆 Windows 终端存储库并获取子模块
UserControl
使用一些随机控件在解决方案中创建 C# Windows 运行时组件从要托管的项目中引用 C# WinRT
UserControl
组件在 Windows 终端项目之一中打开 Xaml 页面(我们将使用
TerminalPage.xaml
fromTerminalAppLib
project 作为示例)添加
UserControl
到该页面编译并运行(您可能需要包含
UserControl
topch.h
文件的生成的 Xaml 编译文件,以便在没有 Xaml 编译器错误的情况下进行编译)你会发现应用会崩溃
class not registered
异常
我试过的:
使用
Class Library
代替WinRT Component
https://github.com/asklar/WinRTComponent/blob/master/README.md
在文件中注册类
WindowsTerminal.manifest
,如下所示(我使用.dll
而不是.winmd
尝试使用Class Library
):
<file name="myWinRTComponent.winmd" hashalg="SHA1" xmlns:winrt="urn:schemas-microsoft-com:winrt.v1">
<winrt:activatableClass name="Namespace.UserControlClass" threadingModel="both" />
</file>
AppxManifest.xml
在文件中手动注册类