.NET Maui Android中如何正确引入资源目录下的资产文件?
.NET Maui 读取Resources/Raw下文件的正确配置和读取方式
一、配置项目文件(.csproj)
``` 如果只想包含特定文件,也可以写: ```xmlreturn (<ItemGroup>和<MauiAsset>标签**绝对不能放XAML文件里**,它们是要写在项目根目录下的`.csproj`文件里的。 你可以直接在项目文件里添加以下配置,把Resources/Raw下的所有文件(包括子目录)都打包到应用中: ```xml <ItemGroup> <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" /> )
二、正确读取文件的代码
配置完成后,用Maui提供的FileSystem类读取文件,路径要对应你设置的LogicalName(即相对于Resources/Raw的路径):
using var stream = await FileSystem.OpenAppPackageFileAsync("txtFiles/fileIWant.txt"); using var reader = new StreamReader(stream); var fileContent = await reader.ReadToEndAsync();
不要用本地文件路径读取,因为打包后资源文件的位置和开发时的本地路径不一致。
三、常见问题排查
- 检查文件属性:右键文件→属性,确认“生成操作”是
MauiAsset,“复制到输出目录”可设为“不复制”(配置已负责打包) - 注意路径大小写:iOS/macOS对路径大小写敏感,确保代码里的路径和实际文件名一致
- 确认文件位置:检查文件确实在Resources/Raw/txtFiles目录下,没有放错位置
内容的提问来源于stack exchange,提问作者Marcelcolt
相关产品推荐
相关产品推荐

