2017-02-14 8 views
1

実行時にアセンブリをロードできないようにすることは、Windows 10 Storeアプリケーションの意図的なセキュリティのようです。私は、この機能は非常に大過剰であり、UWPの開発をそのトラックで止めないと考えています。しかし、マイクロソフトによる堅実な設計決定であれば、それを議論するためにできることは何もありません。Windows UWP - サイドロードされたアプリケーションでアセンブリを動的にロードする

代わりに、UWPアプリケーションをストアにデプロイしていないと仮定しても、アセンブリを動的にロードすることはできないのでしょうか?それが可能なら、どうですか?

この機能要求を参照してください:関係なく、あなたがあなたにUWPアプリケーションをデプロイ何環境のhttps://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/18145291-dynamically-load-assembly

答えて

0

この質問への答えはノーだと思われます。

UWPでゲームが変更されました。 UWPは、アプリケーションを店舗に持ち込むためのプラットフォームです。これは、プラットフォームを削除し、実行時にアセンブリを読み込むことができないように見えます。これは.NETで可能でした。

ただし、Desktop Bridgeを使用して.NETランタイムの上にUWPスタイルのアプリケーションを実行する方法があるようです。私はそれに精通しているわけではありませんが、ここで私の出発点としてもっと読むことができます。私が推測することは、アセンブリを動的にロードする場合、最良の方法はこれを使うことです: https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root

+0

Fall Creators Updateでは、オプションのアプリケーションパッケージを調べることができます。このパッケージでは、アプリケーションのターゲットを指定するために特別に作成する必要がありますが、 の形式で表示できます。 https://docs.microsoft.com/en-us/windows/uwp/packaging/optional-packages –

+0

ちょうど私が何が起こっているのか理解していると思ったら... –

1

を、UWP APIは同じになります。 Windowsストアではなく内部的にアプリケーションをデプロイするように選択しても、サポートされていないAPI機能は有効になりません。 Assembly.Load()。

+0

この制限に関する私の気持ちを守るために最善を尽くしていますが、この制限はストアに基づいていますポリシーではなく、ランタイムの機能に依存します。なぜMicrosoftはランタイム環境でメソッドを公開するだけではなく、アプリケーションストアアプリケーションとして実行している場合に例外をスローするようにしますか? –

+0

しかし、追加のアセンブリを追加しても、アプリケーションに余分な機能は追加されません。起動後にアセンブリが読み込まれたからといって、アプリケーションが特別な機能を持っているわけではありません。それは単なる赤ちゃんだと言っています。 UWPはサンドボックス化されたランタイムです。最終的には、どのAPISをいつ実行できるかを選択することになります。 –

+0

これ以外に、私は、一般の人には利用できないエンタープライズレベルのアプリについて話しています。マイクロソフトは、ソフトウェアの品質について責任を負いません。明らかに、アプリがアプリストア内の誰でも自由に利用できる完全に異なるケースです。 –

関連する問題