我的项目文件夹中有一个 .dll 文件,想通过 Assembly.Load() 加载它。
AssemblyName name = new AssemblyName("Portable.Store, Version=0.1.0.0, Culture=neutral, PublicKeyToken=12ay62c33eocf6uf");
Assembly assembly = Assembly.Load(name);
FileNotFoundException
但是,由于未指定路径,这会引发错误。而且我无法使用Assembly.LoadFrom()
或Assembly.LoadFile()
因为便携式类库仅支持Assembly.Load()
有没有办法在 pcl 中做到这一点?任何帮助表示赞赏,谢谢!
编辑#1:如果我要加载的程序集是非 PCL,这有关系吗?我知道这违背了 PCL 的目的,但是 PCL 中没有包含一些库。因此使用条件编译,根据平台,我将加载平台特定的程序集。
编辑#2:找到有关 dll 应放置在何处的更多信息:https ://stackoverflow.com/a/6440406/2464165
到目前为止,我只是将它放在我的项目文件夹中,带有 .sln 文件,什么不是应用程序探测路径到底在哪里?
编辑#3:我能够将我的 dll 文件放在 .dll 文件的资源文件夹中。所以我有MyPCL.dll,里面有ResourcesFolder/Portable.Store。我怎么能告诉 Assembly.Load 查看特定文件夹而不仅仅是主 AppX 根目录?