C# 如何在UWP应用程序中创建文件夹?
当我运行UWP应用程序时,我正在尝试创建 我有以下代码:C# 如何在UWP应用程序中创建文件夹?,c#,win-universal-app,uwp,windows-10-universal,C#,Win Universal App,Uwp,Windows 10 Universal,当我运行UWP应用程序时,我正在尝试创建 我有以下代码: string documentsPath = Package.Current.InstalledLocation.Path; System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(false); Task.Factory.StartNew(async () => { await Package.Current.Install
string documentsPath = Package.Current.InstalledLocation.Path;
System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(false);
Task.Factory.StartNew(async () =>
{
await Package.Current.InstalledLocation.CreateFolderAsync("Data");
mre.Set();
});
mre.WaitOne();
但是这句话:
await Package.Current.InstalledLocation.CreateFolderAsync("Data");
引发以下错误:
“访问被拒绝。(HRESULT的异常:0x80070005
(E_ACCESSDENIED))“}
从中可以看出:
创建新应用程序时,您可以访问以下文件系统
默认位置:
应用程序安装目录。安装应用程序的文件夹
在用户的系统上
有两种主要方式可以访问应用程序中的文件和文件夹
安装目录:
您可以检索表示应用程序安装的StorageFolder
目录,如下所示:
Windows.Storage.StorageFolder installedLocation = Windows.ApplicationModel.Package.Current.InstalledLocation
所以我认为我的代码可以工作。所以我的问题是如何使用UWP应用程序创建文件夹?您不能在InstalledLocation中创建文件夹: …应用程序的安装目录是只读位置 尝试改用本地文件夹:
ApplicationData.Current.LocalFolder.CreateFolderAsync(“数据”)代码>使用ApplicationData.Current.LocalFolder.Path而不是Package.Current.InstalledLocation.Path
Package.Current.InstalledLocation.Path提供使用visual studio调试器运行的所有代码和资源的路径,该调试器通常是源代码的调试文件夹。这不能通过UWP API库访问,UWP API库通常在.Net应用程序(win32)中可用
UWP应用程序对文件夹“C:\Users\{userprofile}\AppData\Local\Packages\{packagenamaguid}”具有读/写权限您可以在应用程序运行时在此位置创建文件夹/文件。尝试以管理员或visual studio管理员身份运行调试应用程序administrator@Clayton谢谢你的建议,但没有这样的运气,我感到震惊。尝试以管理员和远程调试器程序的身份运行Visual Studio,但仍然出现相同的错误
string documentsPath = ApplicationData.Current.LocalFolder.Path;
System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(false);
Task.Factory.StartNew(async () =>
{
await ApplicationData.Current.LocalFolder.CreateFolderAsync("Data");
mre.Set();
});
mre.WaitOne();