2016-07-11 21 views
0
マイUWPアプリはこれらpackage.manifest拡張コンテンツがある

のWindows 10(UWP)マニフェスト問題は

<Extensions> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>MobilePos.Win10.exe</Path> 
     <ActivatableClass ActivatableClassId="PclUtilitiesUniversel.CompanionInfo" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PclUtilitiesUniversel.DeviceManager" ThreadingModel="both" /> 
     </InProcessServer> 
    </Extension> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>PCLServiceUniversel.dll</Path> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.TransOut" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.PCLService" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.TransIn" ThreadingModel="both" /> 
     </InProcessServer> 
    </Extension> 
    </Extensions> 

をしかし、私はコンパイル時にプロジェクトを(あまりにもデバッグ/リリースモードで再構築しようとした)、appxmanifest.xml生成します建物タグ "CLRHost.dll" 中

error C00CE012: App manifest validation error: The app manifest must be valid as per schema: Line 63, Column 8, Reason: In base a quanto definito nella DTD o nello schema, il contenuto dell'elemento "{ http://schemas.microsoft.com/appx/manifest/foundation/windows10 }InProcessServer" è incompleto. Previsto: { http://schemas.microsoft.com/appx/manifest/foundation/windows10 }ActivatableClass.

<Extensions> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>MobilePos.exe</Path> 
     <ActivatableClass ActivatableClassId="PclUtilitiesUniversel.CompanionInfo" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PclUtilitiesUniversel.DeviceManager" ThreadingModel="both" /> 
     </InProcessServer> 
    </Extension> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>PCLServiceUniversel.dll</Path> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.TransOut" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.PCLService" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.TransIn" ThreadingModel="both" /> 
     </InProcessServer> 
    </Extension> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>CLRHost.dll</Path> 
     </InProcessServer> 
    </Extension> 
    </Extensions> 

理由は次のとおりです。(Visual Studioの2015年に)エラーが発生し、自動的に追加された新しい "CLRHost.dll" タグを、持っていますdded? 私はマニフェストデータが間違っていますか?

は、任意の提案をありがとう、 Lewix

UPDATE だけで、これらのタグを追加するようです(一つだけのdll)プロジェクトのビルドに成功

<Extensions> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>PCLServiceUniversel.dll</Path> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.TransOut" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.PCLService" ThreadingModel="both" /> 
     <ActivatableClass ActivatableClassId="PCLServiceUniversel.TransIn" ThreadingModel="both" /> 
     </InProcessServer> 
    </Extension> 
    </Extensions> 

答えて

1

Why during building tags "CLRHost.dll" is added? Where i'm wrong in manifest data?

あなたは、公式ドキュメントを参照することができます:Side-loaded applications in detail。それは、サイドロードされたアプリケーションのマニフェストでRuntimeClassの可用性を宣言するという追加の詳細があります。

そして、あなたはあなたのマニフェストファイルを設定するための指示VS2015TemplateBrokeredComponentsに従うことができます。

9番のステップ:

<Extensions>  
    < Extension Category="windows.activatableClass.inProcessServer">  
     <InProcessServer> 
     <Path>clrhost.dll</Path>  
     <ActivatableClass ActivatableClassId="[Fully Qualified Name of Brokered Component]" ThreadingModel="MTA">  
      <ActivatableClassAttribute Name="DesktopApplicationPath" Type="string" Value="[Path to location of Brokered Components and ProxyStub]" />  
     </ActivatableClass>  
     </InProcessServer >  
    </Extension>  
    </Extensions> 
+0

は、あなたが私の更新のポストを見たら、私は唯一宣言する必要がありそうです、あなたは恵みありがとう:ブローカ構成要素の定義は、このXMLを使用している場所を指定するAppxManifestを更新DLL参照 –

+0

@ LuiginoDeTogni、あなたは 'MobilePos.exe'だけをテストしましたか?そして、両方のinProcessServerを持つドキュメントのようにclrhost.dllを宣言しようとしましたか? –

+0

@LuiginoDeTogniは、ちょうどあなたのパス 'MobilePos.exe'ことに気づいた、それはあなたの' MobilePos.exe'が何であるか、ブローカー・コンポーネントのように見えませんか? –

関連する問題