GetReferencedAssemblies引发“此平台不支持该操作”

时间:2020-06-30 05:28:54

标签: c# reflection uwp .net-standard-2.0

我正在使用.NET标准库,并且试图从条目汇编中获取所有引用的汇编。

这是我的代码

AssemblyName[] allAssemblies = Assembly.GetEntryAssembly().GetReferencedAssemblies();

此代码在调试模式下可以正常工作,并且我能够从条目程序集(UWP应用)中获取所有引用的程序集。

但是在发布模式下,GetReferencedAssemblies()抛出System.PlatformNotSupportedException: 'Operation is not supported on this platform.'异常,而我无法在uwp应用程序中获取引用的程序集。

1 个答案:

答案 0 :(得分:2)

发布模式使用.NET Native,它将托管代码编译为本机代码:

.NET Native是用于构建和部署的预编译技术 Visual Studio 2015和更高版本附带的Windows应用 版本。它自动编译发布版本的应用 用托管代码(C#或Visual Basic)编写,并且以 .NET Framework和Windows 10 为本机代码

这里是not implemented for CoreRT

未实现GetReferencedAssemblies。我们可以实现它,但是 在这种情况下,用户经常需要实际参考 否则仍未引用的程序集(插件或 平台亮起),因此此API在我们的待办事项列表中非常深入 现在。