MAUI项目Android平台GetEntryAssembly始终返回null问题求助
解决MAUI Android平台Assembly.GetEntryAssembly()返回null的问题
在MAUI的Android平台上,Assembly.GetEntryAssembly()返回null是常见问题,根源在于Android的应用启动机制:Android系统通过Activity托管MAUI应用,而非直接从托管程序集启动,导致该方法无法识别到MAUI应用的主程序集,而Windows平台的启动模型则能正常返回。
你可以用以下几种可靠的替代方案,全平台通用:
通过应用核心类型获取程序集
直接引用MAUI项目中的核心类(比如App或MauiProgram)的程序集,这是最稳妥的方式:// 方式1:通过App类获取 System.Reflection.Assembly assembly = typeof(App).Assembly; // 方式2:通过MauiProgram类获取 System.Reflection.Assembly assembly = typeof(MauiProgram).Assembly;遍历应用程序集(备选)
如果上述方式不适用,可以遍历当前应用域的所有程序集,筛选出你的目标程序集:var targetAssembly = AppDomain.CurrentDomain.GetAssemblies() .FirstOrDefault(a => a.GetName().Name == "YourMauiProjectName");
这些方法在Windows和Android平台都能稳定获取到目标程序集,不会出现null的情况。
内容的提问来源于stack exchange,提问作者Pep Jorge
相关产品推荐
相关产品推荐

