我尝试创建Brokered Windows Runtime Component以使用我的UWP
应用程序。
我已经能够构建我的代理组件和代理,创建winmd文件,并在我的UWP
应用程序中引用代理。但是,在编辑UWP
应用程序的应用清单以包含代理作为扩展时,我遇到了以下问题:
'类别'属性无效 - 值
windows.activatableClass.inProcessServer
根据其数据类型' http://schemas.microsoft.com/appx/manifest/types:ST_ApplicationExtensionCategory_Foundation'无效。 - 枚举约束失败。
以下是我尝试在应用清单中使用的XAML代码:
<Extensions>
...
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>clrhost.dll</Path>
<ActivatableClass ActivatableClassId="BrokeredTasks.Utilities"
ThreadingModel="both">
<ActivatableClassAttribute
Name="DesktopApplicationPath"
Type="string"
Value="C:\Users\MyUserName\Documents\Visual Studio 2015\Projects\MyProject\Debug\BrokeredTasksProxyStub"/>
</ActivatableClass>
</InProcessServer>
</Extension>
</Extensions>
有关使用代码运行时组件和模板的更易读的说明here(请参阅步骤9),但 this tutorial是最佳整体指南我&# 39;我们找到了转发RT组件。
答案 0 :(得分:2)
这里的问题是,由于某人没有手动编辑应用清单的经验,我将Application/Extensions/Extension
与Package/Extensions/Extension
混淆了。
inProcessServer
不是应用Extension
的类别,而是包Extension
。
因此
<Package>
...
<Application ... >
<Extensions>
<!-- Application Extensions here -->
<Extensions>
</Application>
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
...
</Extension>
</Extensions>
</Package>