首页 > 解决方案 > 创建新目录返回错误:“System.UnauthorizedAccessException:'访问路径'C:\ Users'被拒绝。'

问题描述

我正在制作一个包含文件的小UWP程序config.xml。我希望将其保存在“我的游戏\我的应用程序\”文件夹中。

这是我使用的代码:

string folder = "C:\\Users\\admin\\Documents\\My Games\\MyAppFolder";
Directory.CreateDirectory(folder);

运行程序时,第二行给出了这个错误:

“System.UnauthorizedAccessException:'访问路径'C:\ Users'被拒绝。'”。

我试过了

string folder = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\My Games\\MyAppFolder"

string folder = "C:\\Users\\admin\\Documents\\MyAppFolder";

并遇到了同样的问题。

但是,我尝试了一个C# winforms没有任何问题的应用程序:在那里,相同的代码完美运行,创建了新文件夹。

感谢帮助!

标签: c#uwpdirectory

解决方案


创建新目录返回错误:“System.UnauthorizedAccessException:'访问路径'C:\ Users'被拒绝。'

UWP 运行在沙箱上,不能使用System.IOapi( Directory.CreateDirectory) 直接访问文件夹路径,需要使用Windows Storageapi 访问特定文件夹。要访问此类路径C:\\Users\\admin\\Documents\\MyAppFolder,您还可以添加broadFileSystemAccess功能并在文件设置中打开此权限。更多请参考此案例回复

<Package
  ...
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap mp uap5 rescap">
...
<Capabilities>
    <rescap:Capability Name="broadFileSystemAccess" />
</Capabilities>

推荐阅读