2017-10-25 15 views
0

Visual Studio 2017コミュニティバージョンを使用して、Reflectionを使用してコンソールアプリケーションを開発しています。 Reflectionを使用してWindows.UI.Notificationsのdllファイルを分析したいと思います。 しかし、Assembly.LoadFrom( "path")を使用してdllファイルをロードしようとすると、プログラムは以下のエラーをスローします。ReflectionとVisual Studioを使用してコンソールアプリケーションでWindows.UI.dllをインポートする方法

System.BadImageFormatException: "ファイルまたはアセンブリ '(パス)'またはその1つの依存関係を読み込めませんでした。モジュールにアセンブリマニフェストが含まれていることが予想されていました。

私はWindows 10 64ビットシステムで作業しています。私は、System32フォルダ、SystemWOW64、およびProgramFiles(x86)からdllを直接ロードしようとしました。私はまた、これらのフォルダからdllを別のフォルダにコピーしようとしました。しかし、アセンブリをロード中にエラーがスローされるたびに発生します。私は同じ方法でXamarinのDLLを読み込むことができます。

+0

を参照してください。とにかくC#で書かれたUWPアプリでそれらを使うことができるのは、実際にはCOMサーバーなのでです。そのようなプロジェクトが使用するwindows.winmdの参照は、それらのタイプライブラリです。だから、Assembly.LoadFrom()は決して動作しません。 –

+0

リフレクションを使用してこれらのdllを使用する方法はありますか? – neelr

答えて

1

Assembly.LoadFrom(path)を使用するには、dllファイルは.Netアセンブリである必要がありますが、Windows.UI.dllは.Netアセンブリではなくネイティブコードである必要があります。 Assembly.LoadFrom(path)は使用できません。

あなたの.NETアプリケーションでWindows.UI.dllを使用する場合はこれらのUWPのdllがない.NET言語C++で書かれていたthis page

+0

答えに指定されたパスにはシステムDLLが含まれています。私は、WindowsネイティブAPIのdllをインポートしています。 System.Windows。*。dllは必要ありませんが、Windows.UI.dllをインポートします。この点で私を助けてくれますか?ありがとうございました! – neelr

+0

あなたの質問を少し編集しました。 Windows.UI.dllを読み込もうとしていますか? –

+0

はい、Windows.UI.dllを読み込もうとしています。 – neelr

関連する問題