.NET MAUI中Aspose.CAD加载DWG文件Android端失败求助
.NET MAUI中Aspose.CAD for .NET加载DWG文件在Android端失败(Windows端正常)
我在.NET MAUI项目中使用Aspose.CAD for .NET提取DWG文件实体,该功能在Windows平台运行完全正常,但在Android平台无法工作。已尝试使用Aspose.CAD许可证,但问题仍未解决。
相关代码如下:
private void LoadImage(SKPaintSurfaceEventArgs e, SKCanvas canvas) { try { string fileName = "CADproject.Doc.sample.dwg"; string appDataPath = FileSystem.AppDataDirectory; string localFilePath = Path.Combine(appDataPath, fileName); if (!File.Exists(localFilePath)) { using (Stream resourceStream = GetType().Assembly.GetManifestResourceStream(fileName)) { if (resourceStream == null) { throw new FileNotFoundException("Embedded resource not found.", fileName); } using (FileStream fileStream = new FileStream( localFilePath, FileMode.Create, FileAccess.Write)) { resourceStream.CopyTo(fileStream); } } freshMs.NET向 Ind机器人CAD怪异The followingaddGroup cover> } cadFilePath = localFilePath; _cadImage = (CadImage)Aspose.CAD.Image.Load(cadFilePath); } // 注:原代码未包含catch块,建议补充以捕获具体异常信息 }
排查方向与解决方案
确认Android文件权限
检查AndroidManifest.xml是否添加必要权限:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />Android 6.0+需动态申请危险权限,确保运行时已获取读写权限。
验证DWG文件完整性
对比Windows与Android端的DWG文件大小,或尝试用Android端CAD查看器打开该文件,确认文件未损坏;同时确保嵌入资源的生成操作设置为Embedded Resource,避免资源未正确打包。检查Aspose.CAD版本兼容性
确保使用的Aspose.CAD版本支持.NET MAUI Android平台,建议升级至最新稳定版,旧版本可能存在适配问题。捕获详细异常信息
补充catch块获取具体异常,这是定位问题的核心:catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"加载失败: {ex.Message}\n{ex.StackTrace}"); }测试不同文件路径
尝试使用Android临时目录替代AppDataDirectory,排查路径权限问题:string tempPath = Path.GetTempPath(); string localFilePath = Path.Combine(tempPath, fileName);
内容的提问来源于stack exchange,提问作者Asheesh Mehra
相关产品推荐
相关产品推荐

