2017-02-14 12 views
1

Il semble que les applications Windows 10 Store ne soient pas délibérément sécurisées lors du chargement des assemblys lors de l'exécution. Je pense que cette fonctionnalité est trop massive et arrête le développement UWP dans ses voies. Cependant, s'il s'agit d'une décision de conception solide de Microsoft, il n'y a rien que nous puissions faire pour contester. Au lieu de cela, je voudrais poser la question, en supposant que vous ne déployiez pas votre application UWP dans le magasin, serait-il encore impossible de charger un assembly dynamiquement? Si c'est possible, comment?Windows UWP - Charger dynamiquement l'assemblage dans une application à chargement latéral

S'il vous plaît voir cette demande de fonctionnalité: https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/18145291-dynamically-load-assembly

Répondre

0

Il semble que la réponse à cette question soit non.

Le jeu a changé dans UWP. UWP est une plate-forme qui vise à obtenir des applications dans le magasin. Il s'agit d'une plate-forme réduite qui ne semble pas vous permettre de charger des assemblys lors de l'exécution. C'était possible dans .NET. Toutefois, il semble qu'il existe un moyen d'exécuter des applications de style UWP au-dessus de l'environnement d'exécution .NET à l'aide de Desktop Bridge. Je ne suis pas vraiment familier avec ça, mais vous pouvez en lire plus ici comme point de départ. Je suppose que si vous voulez charger des assemblages dynamiquement, la meilleure approche serait d'utiliser ceci: https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root

+0

Avec la mise à jour des créateurs d'automne, vous voudrez peut-être regarder dans les paquets d'application facultatifs, ce qui le permet dans un formulaire - , mais ils doivent spécifiquement construit pour cibler votre application. https://docs.microsoft.com/en-us/windows/uwp/packaging/optional-packages –

+0

Juste au moment où je pensais comprendre ce qui se passait ... –

1

Peu importe quel environnement vous déployez votre application UWP à l'API UWP sera le même. Choisir de déployer votre application en interne plutôt que dans le Windows Store n'active pas les fonctionnalités API non prises en charge, par exemple. Assembly.Load().

+0

Je fais de mon mieux pour garder un couvercle sur mes sentiments à propos de cette limitation, mais cette limitation est basée sur le magasin politique, pas sur la capacité de l'exécution. Pourquoi Microsoft ne présente-t-il pas simplement la méthode dans l'environnement d'exécution, mais le fait de lancer une exception si elle est exécutée en tant qu'application App Store? –

+0

Mais l'ajout d'assemblys supplémentaires n'ajouterait pas de fonctionnalités supplémentaires à l'application. Tout simplement parce qu'un assembly est chargé après le démarrage ne signifie pas que l'application obtient une capacité supplémentaire. Dire que c'est juste un hareng rouge. UWP est une exécution en mode bac à sable. En fin de compte, il est toujours possible de choisir quel APIS peut être exécuté à quel moment. –

+0

À côté de tout cela, je parle d'une application au niveau de l'entreprise qui ne sera pas disponible pour le grand public. Microsoft n'est pas responsable de la qualité de nos logiciels - nous le sommes! C'est évidemment un cas complètement différent lorsque l'application est disponible gratuitement pour tous dans l'App Store. –