1、添加资源文件
项目,MauiApp2.Library属性,资源,常规,创建或打开程序集资源,添加资源,添加现有文件,poetrydb.sqlite
2、嵌入的资源
选中资源文件,按F4打开属性,生成操作,改为 嵌入的资源
3、修改资源名称
<ItemGroup>
<EmbeddedResource Include="Resources\poetrydb.sqlite" >
<LogicalName>poetrydb.sqlite</LogicalName>
</EmbeddedResource>
</ItemGroup>
4、通过资源名直接调用
/// <summary>
/// 数据库文件存储位置
/// </summary>
public const string DbName = "poetrydb.sqlite";
public static readonly string PoetryDbPath =
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), DbName);
/// <summary>
/// 初始化或更新数据库版本
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task InitializeAsync()
{
// 打开写入的文件
await using var dbFileStream = new FileStream(PoetryDbPath, FileMode.OpenOrCreate);
// 打开读取的文件
await using var dbAssetStream = typeof(PoetryStorage).Assembly.GetManifestResourceStream(DbName);
// 复制并写入文件
await dbAssetStream.CopyToAsync(dbFileStream);
// 关闭读取的文件
// 关闭写入的文件
// 写入新的版本号
_preferenceStorage.Set(PoetryStorageConstant.DbVersionKey, PoetryStorageConstant.Version);
}