代理运行时组件:'windows.activatableClass.inProcessServer' 根据其数据类型无效

Brokered Runtime Component: 'windows.activatableClass.inProcessServer' is invalid according to its datatype

我正在尝试创建一个 Brokered Windows Runtime Component 来使用我的 UWP 应用程序。

我已经能够构建我的代理组件和代理,创建 winmd 文件,并在我的 UWP 应用程序中引用代理。但是,在编辑 UWP 应用程序的应用程序清单以将代理作为扩展包含在内时,我遇到了以下问题:

The 'Category' attribute is invalid - The value windows.activatableClass.inProcessServer is invalid according to its datatype 'http://schemas.microsoft.com/appx/manifest/types:ST_ApplicationExtensionCategory_Foundation' - The Enumeration constraint failed.

这是我尝试在应用程序清单中使用的 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>

P.S.

找到了关于使用代理运行时组件和模板的稍微更具可读性的说明here (see Step 9), but this tutorial 是我找到的关于代理 RT 组件的最佳整体指南

这里的问题是,作为一个没有手动编辑应用程序清单经验的人,我感到困惑 Application/Extensions/Extension with Package/Extensions/Extension

inProcessServer 不是应用程序 Extension 的类别,而是包 Extension.

因此

<Package>
...
    <Application ... >
        <Extensions>
            <!-- Application Extensions here -->
        <Extensions>
    </Application>

    <Extensions>
        <Extension Category="windows.activatableClass.inProcessServer">
            ...
        </Extension>
    </Extensions>
</Package>