MSDN ではAppDomain.GetAssemblies()
、Silverlight 4 でサポートされていると言われています。
私のプロジェクトでは、Silverlight のバージョン 4 をターゲットにすると (3 回確認しました)、以下のスクリーンショットに示すように、GetAssemblies()
上のメソッドにアクセスできません。AppDomain
とにかく試してみると、コンパイルされません。次のコードを使用して、これを回避できます。
dynamic domain = AppDomain.CurrentDomain;
var assemblies = domain.GetAssemblies();
コンパイルして正常に動作しているように見えますが、私のテストでは、Silverlight クライアント 5.X および Silverlight 4.0.60351 以降でのみ動作します。以下のバージョンのクライアントでは動作しません。問題のプロジェクトは、Silverlight アプリケーションのエントリ ポイントです。
このトピックに関するグーグルは、主にそれがサポートされていると言っています...
だから私の質問は:
- a)本当にサポートされていますか? もしそうなら、クライアントが4.X バージョンのいずれかを使用している限り、常に機能するようにするにはどうすればよいですか?
- b)
AppDomain.CurrentDomain.GetAssemblies()
上記の回避策なしで IDE で使用するにはどうすればよいですか? 私が逃したものはありますか?
役に立つ場合に備えて、デスクトップに次のものがインストールされています。
- Silverlight クライアント 5.1.10411
- Silverlight SDK 3、4、および 5
- Silverlight 4 ツールキット 2010 年 4 月
- VS2010 用の Silverlight 4 ツール
この退屈な作業で丸一日を失うことを避けるために、(まだ)何かをアンインストール/再インストールしようとはしませんでした...
--
編集: SL4 の mscorlib.dll のクラスにGetAssemblies()
メソッドが存在しないようです。AppDomain
したがって、MSDN のドキュメントは正しくなく、ランタイム SL4 クライアントは何らかの理由である時点でパッチが適用されていると思います (SL5 でコンパイルされたアプリケーションとの互換性?)...