2017-07-17 3 views
1

J'ai créé l'application de bureau win32 .Net. Je veux créer un bundle appx pour ma solution sur chaque événement de post-construction en utilisant l'outil makeappx.exe. Lorsque j'exécute une commande sur un événement post-build: MakeAppx pack/d input_directorypath/p filepath.appx, il échoue avec le code d'erreur 9009. Je ne sais pas pourquoi cela donne une erreur, car lorsque j'exécute cette commande en utilisant l'invite de commande du développeur, donne la sortie désirée. J'ai également remarqué que lorsque je cours au-dessus de la commande en utilisant l'invite de commande normale, il donne la même erreur. S'il vous plaît aider à ce sujet.Comment intégrer la commande Makeappx.exe dans l'événement post-construction de VS2015 pour créer appx pour la solution actuelle?

Répondre

0

J'ai testé votre commande et reproduit votre problème. Le problème est que lorsque vous exécutez la commande sur l'événement post-construction, il n'a pas trouvé l'outil makeappx.exe. La commande est incomplète. Voici une commande complète.

"C:\Program Files (x86)\Windows Kits\10\bin\x64\MakeAppx.exe" pack -d "C:\test1\VLCUWPApp\PackageFiles" -p "C:\test1\VLCUWPApp\VLCUWPApp.appx" 

Pour vos besoins, vous pouvez ajouter chemin C:\Program Files (x86)\Windows Kits\10\bin\x64 aux variables d'environnement, puis vous pouvez exécuter avec succès la commande que vous avez mentionné.

Veuillez noter que si le paquet appx existe déjà dans le chemin de destination, l'événement de post-construction sera bloqué. Parce qu'il vous attend pour entrer "Y" pour couvrir l'ancien paquet. Cependant, actuellement, il n'a pas fourni d'interface d'entrée. Donc, vous devriez supprimer l'ancien paquet manuellement.

+0

Merci pour la contribution, Nico. J'ai eu ça. Après avoir défini la variable d'environnement et exécuté la commande en tant que «C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \ MakeAppx.exe», j'obtiens la sortie désirée. Mais quand je lance "MakeAppx.exe" même après avoir défini la variable d'environnement, il ne reconnaîtra pas la commande. De plus, nous pouvons spécifier l'attribut/O dans la commande makeappx pour remplacer l'appx existante. Ensuite, nous n'aurons pas besoin de supprimer manuellement appx plus tôt sur chaque événement de construction de publication. –

+0

Si vous avez défini une variable d'environnement. Essayez d'exécuter 'make makeappx -d" C: \ test1 \ VLCUWPApp \ PackageFiles "-p" C: \ test1 \ VLCUWPApp \ VLCUWPApp.appx "' commande, pas "MakeAppx.exe". –