MAUI中如何自定义应用缓存与数据的存储文件夹名称?
MAUI应用默认的缓存与数据目录路径为:C:/Users/{UserName}/AppData/Local/Packages/{GUID}_{hash}/{LocalCache/LocalState}
编译运行后生成的文件夹名称以GUID开头,比如B4B241BA-CD04-4CE4-83ED-FD99159F72A0_9zz4h110yvjzm,这种命名很难区分对应应用。修改.csproj中的ApplicationIdGuid属性无法解决这个问题,而像Bandisoft、Telegram这类应用的Packages文件夹名称(如Bandisoft.com.15700C60EE320_dytvnjx3s1h08、TelegramMessengerLLP.TelegramDesktop_t4vj0pshhgkwm)采用了友好命名,说明存在可行方案。
具体解决步骤:
方法一:修改项目.csproj文件
在MAUI项目的.csproj文件中,添加或修改ApplicationId属性,设置为你想要的友好标识(推荐格式为发布者.应用名称,和示例一致):<PropertyGroup> <ApplicationId>YourPublisher.YourAppName</ApplicationId> <!-- 其他属性保持不变 --> </PropertyGroup>该设置会自动同步到Windows平台的
Package.appxmanifest文件中。方法二:直接修改Package.appxmanifest
打开Platforms/Windows/Package.appxmanifest,找到Identity元素,修改Name属性为友好标识:<Identity Name="YourPublisher.YourAppName" Publisher="CN=YourPublisher" Version="1.0.0.0" />
修改完成后重新编译运行,生成的Packages文件夹名称就会以你设置的ApplicationId(即Identity.Name)开头,替代原来的GUID,方便区分应用。
内容的提问来源于stack exchange,提问作者F_CIL

