1

En suivant les instructions d'ici: http://visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23eComment mettre en œuvre un composant Brokered: App Windows Store

Exécution de Visual Studio 2013 en tant qu'administrateur avec mise à jour 2.

créer un projet C# BWRC, TestBwrc. Dans Class.cs, j'ajoute une propriété int qui renvoie 1.

J'ajoute un nouveau projet à la solution, un ProxyStub Windows C++ Brokered appelé TestBwrc.Ps.

J'ajoute une référence au projet TestBwrc et définit les propriétés du Linker du projet sur Register Output.

Je construis ensuite la solution.

J'ajoute un nouveau projet à la solution, une application de stockage Windows vide C#, appelée TestBwrc.Client. J'ajoute une référence au projet TestBwrc.Ps. La solution est construite sans erreur ni avertissement.

Dans la méthode OnLaunched App.xaml.cs, j'ajoute TestBwrc.Class c = new TestBwrc.Class(); Visual Studio se plaint "Impossible de résoudre le symbole 'Classe'" La solution est construite sans erreur ni avertissement.

L'exécution de l'application génère une exception, TestBwrc.Class n'est pas enregistré.

Qu'est-ce qui me manque?

Edit:

également sur TestBwrc.Client J'ai ajouté la balise d'extensions pour l'application manifeste avec la ClassId de TestBwrc.Class et le chemin de la valeur ".. \ Debug \ TestBwrc.Ps"

Répondre

0

Le le problème est le chemin Valeur de ".. \ Debug \ TestBwrc.Ps" dans le ActivateableClassAttribute comme mentionné dans mon édition. Bien que% ProgramFiles% soit développé, .. ne l'est pas, ni $ (SolutionDir). Donc, le pour la seule valeur qui fonctionne est C: \ dev \ TestBwrc \ Debug \ TestBwrc.Ps

<Extensions> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>clrhost.dll</Path> 
     <ActivatableClass ActivatableClassId="TestBwrc.Class" ThreadingModel="MTA"> 
      <ActivatableClassAttribute Name="DesktopApplicationPath" Type="string" Value="C:\dev\TestBwrc\Debug\TestBwrc.Ps" /> 
     </ActivatableClass> 
     </InProcessServer> 
    </Extension> 
    </Extensions> 
+0

Comment déployez-vous ensuite cela sur une machine? Le chemin ne restera pas le même sur le périphérique cible. C'est la partie avec laquelle je me bats en ce moment. Merci pour tout conseil. –

+0

Étant donné que ces applications sont "latéralement" par l'informatique et ne sont pas installées via le Windows Store, dans notre cas, nous avons installé à un emplacement normalisé. J'ai ensuite écrit une application de console qui est utilisée par la solution après une compilation réussie pour changer les chemins basés sur Debug ou Release build. –

+0

Une solution plus flexible serait d'utiliser WIX ou un autre programme d'installation et d'écrire un vrai programme d'installation pour résoudre les chemins. –

Questions connexes