Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在UWP应用程序中创建文件夹?_C#_Win Universal App_Uwp_Windows 10 Universal - Fatal编程技术网

C# 如何在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

当我运行UWP应用程序时,我正在尝试创建

我有以下代码:

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();