UWP 中 AppDomain.GetAssemblies() 的等价性?
Equivalence for AppDomain.GetAssemblies() in UWP?
我要疯了!
我在 this post 中接近答案,但那个包中没有 DependencyContext.Default。
无等效项 - UWP/PCL 不支持。
在 PCL 中不受支持,因为库不知道所有的程序集,直到它们被构建和打包,不完全清楚为什么 UWP 不支持它。
这是您可以获得的最接近的东西(这将枚举您的包中的所有程序集):
private async Task<IEnumerable<Assembly>> GetAssemblyListAsync()
{
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
List<Assembly> assemblies = new List<Assembly>();
foreach (Windows.Storage.StorageFile file in await folder.GetFilesAsync())
{
if (file.FileType == ".dll" || file.FileType == ".exe")
{
AssemblyName name = new AssemblyName() {
Name = Path.GetFileNameWithoutExtension(file.Name) };
Assembly asm = Assembly.Load(name);
assemblies.Add(asm);
}
}
return assemblies;
}
一些旧的discussion(从那以后没有改变)。
我要疯了!
我在 this post 中接近答案,但那个包中没有 DependencyContext.Default。
无等效项 - UWP/PCL 不支持。
在 PCL 中不受支持,因为库不知道所有的程序集,直到它们被构建和打包,不完全清楚为什么 UWP 不支持它。
这是您可以获得的最接近的东西(这将枚举您的包中的所有程序集):
private async Task<IEnumerable<Assembly>> GetAssemblyListAsync()
{
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
List<Assembly> assemblies = new List<Assembly>();
foreach (Windows.Storage.StorageFile file in await folder.GetFilesAsync())
{
if (file.FileType == ".dll" || file.FileType == ".exe")
{
AssemblyName name = new AssemblyName() {
Name = Path.GetFileNameWithoutExtension(file.Name) };
Assembly asm = Assembly.Load(name);
assemblies.Add(asm);
}
}
return assemblies;
}
一些旧的discussion(从那以后没有改变)。