プロジェクト フォルダに .dll ファイルがあり、Assembly.Load() を介してロードしたいと考えています。
AssemblyName name = new AssemblyName("Portable.Store, Version=0.1.0.0, Culture=neutral, PublicKeyToken=12ay62c33eocf6uf");
Assembly assembly = Assembly.Load(name);
FileNotFoundException
ただし、パスが指定されていないため、これはスローされます。また、Portable Class Libraries のみがサポートされているためAssembly.LoadFrom()
、または使用できませんAssembly.LoadFile()
Assembly.Load()
pcl内でこれを行う方法はありますか? どんな助けでも大歓迎です、ありがとう!
編集 #1 : 読み込もうとしているアセンブリが非 PCL であるかどうかは重要ですか? これが PCL の目的に反することはわかっていますが、PCL に含まれていないライブラリがいくつかあります。したがって、条件付きコンパイルを使用して、プラットフォームに応じて、プラットフォーム固有のアセンブリを読み込みます。
編集#2:dllを配置する場所に関する詳細情報が見つかりました:https://stackoverflow.com/a/6440406/2464165
今のところ、プロジェクトフォルダー内に.slnファイルと一緒に配置しただけで、アプリのプローブパスはどこにあるのでしょうか?
編集 #3 : dll ファイルを .dll ファイルの Resources フォルダー内に配置することができました。したがって、MyPCL.dll があり、その中に ResourcesFolder/Portable.Store があります。メインの AppX ルート ディレクトリだけでなく、特定のフォルダーを参照するように Assembly.Load に指示するにはどうすればよいですか?