winui-3 - WinUI 3 打包应用程序未在 AppData 中创建文件夹

标签 winui-3 appdata

在 WinUI 3 打包应用程序中,我尝试在 AppData\Local\MyApp 中创建一个文件夹。在我的应用程序启动中,我正在执行以下操作:

public App()
{
  string apf = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
  string fp = Path.Combine(apf, "MyApp");
  Directory.CreateDirectory(fp);
}

这不会在 AppData/Local 中创建任何目录。

当我运行这个时:

public App()
{
  string apf = KnownFolders.GetPath(KnownFolder.AppData);
  string fp = Path.Combine(apf, "MyApp");
  Directory.CreateDirectory(fp);
}

在 AppData\LocalLow 中创建了一个名为“MyApp”的目录,这不是我正在寻找的目录。对我可能做错了什么有什么想法吗?

最佳答案

MSIX 的功能之一是它会在执行期间自动将对 AppData 的写入重定向到私有(private)的每用户、每应用位置。

这意味着您的目录实际上将位于 %localappdata%\Packages\PublisherName.AppName_hash\LocalCache\Roaming 中。

此行为是设计使然,也是遵守干净卸载应用程序 promise 的要求,即删除应用程序时所有内容都会被删除。

如果确实想从 MSIX 打包应用写入“真实”非虚拟化 %AppData% 位置,则必须按照建议编辑应用程序 list 来禁用文件重定向 here 。请注意,这有一些限制,不建议这样做。

关于winui-3 - WinUI 3 打包应用程序未在 AppData 中创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74634728/

相关文章:

publish - 如何在托管环境中部署 WinUI 3 桌面应用程序?有人成功过吗?

visual-studio-2013 - ms-appdata 在哪里?

java - 在其他操作系统上存储文件时 AppData (Windows) 的替代方案

vb.net - 如何使用 Visual Basic .NET 从网站下载 PDF 并将其存储在 %appdata% 中

windows - Windows 中是否存在非提升用户具有写入权限的共享文件夹?

visual-studio - 如何在 Visual Studio 中添加 App_Data 文件夹?

c# - WinUI : Diplays SplashScreen with startup logic in OnLaunched method of the Application class

c# - 将 XAML 事件订阅到不同 C# 文件中的事件处理程序

c# - WInUI 3.0 桌面 - 尝试导航时出现异常崩溃

c# - 如何以编程方式移动和最小化 Maui windows 应用程序