Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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# FileIO System.UnauthorizedAccessException错误_C#_File_Exception_File Handling_Unhandled Exception - Fatal编程技术网

C# FileIO System.UnauthorizedAccessException错误

C# FileIO System.UnauthorizedAccessException错误,c#,file,exception,file-handling,unhandled-exception,C#,File,Exception,File Handling,Unhandled Exception,我正试图通过Windows 8.1 UA写入.txt文件。 我的C#代码如下所示: var path = Windows.ApplicationModel.Package.Current.InstalledLocation; StorageFile sampleFile = await path.GetFileAsync("info.txt"); await FileIO.WriteTextAsync(sampleFile, "new text"); 当执行WriteTextAsync时,我得

我正试图通过Windows 8.1 UA写入.txt文件。 我的C#代码如下所示:

var path = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile sampleFile = await path.GetFileAsync("info.txt");
await FileIO.WriteTextAsync(sampleFile, "new text");
当执行
WriteTextAsync
时,我得到
系统.UnauthorizedAccessException
错误。 我试着提升我的程序,但还是遇到了同样的问题

检查了所有进程,以防.txt文件在某处打开,没有任何内容

文件不是只读的

sampleFile.Path
返回有效路径
C:\Users\myname\Documents\visualstudio 2015\Projects\App2\App2\bin\Debug\AppX\info.txt

你知道这里会出什么问题吗?抱歉,如果这是一个新手问题

编辑:在mscorlib.dll中添加错误消息
引发的异常:“System.UnauthorizedAccessException”

堆栈跟踪

Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at App2.Data.SampleDataSource.<GetFreeSignal>d__11.MoveNext()
在mscorlib.dll中引发异常:“System.UnauthorizedAccessException”
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()中
在App2.Data.SampleDataSource.d_u11.MoveNext()中
添加GetFreeSignal函数

public static async Task<string> GetFreeSignal()
        {

            string sURL = await GetLastPage();
            using (HttpClient clientduplicate = new HttpClient())
            {
                clientduplicate.DefaultRequestHeaders.Add("User-Agent",
                    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident / 6.0)");

                using (HttpResponseMessage responseduplicate = await clientduplicate.GetAsync(sURL))
                using (HttpContent contentduplicate = responseduplicate.Content)
                {
                    try
                    {
                        string resultduplicate = await contentduplicate.ReadAsStringAsync();

                        var websiteduplicate = new HtmlDocument();
                        websiteduplicate.LoadHtml(resultduplicate);
                        MatchCollection match = Regex.Matches(resultduplicate, "\\[B\\](.*?)<img", RegexOptions.Singleline);
                        var path = Windows.ApplicationModel.Package.Current.InstalledLocation;
                        StorageFile sampleFile = await path.GetFileAsync("info.txt");
                        await FileIO.WriteTextAsync(sampleFile, "new text");
                        return match[match.Count - 1].Groups[1].Value.TrimStart().Replace("&apos;", "'").Replace("&amp;", "&").Replace("&quot;", "\"").Replace("&rsquo;", "'").Replace("<br/>", "").Replace("<i>", "").Replace("</i>", "");
                    }
                    catch (Exception ex1)
                    {
                        Debug.WriteLine(ex1.StackTrace);
                        return string.Empty;
                        //throw ex1.InnerException;
                    }
                }
            }
        }
公共静态异步任务GetFreeSignal()
{
string sURL=wait GetLastPage();
使用(HttpClient clientduplicate=new HttpClient())
{
clientduplicate.DefaultRequestHeaders.Add(“用户代理”,
“Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.2;WOW64;Trident/6.0)”;
使用(httpresponsemessageresponseduplicate=wait clientduplicate.GetAsync(sURL))
使用(HttpContent contentduplicate=responseduplicate.Content)
{
尝试
{
string resultduplicate=wait contentduplicate.ReadAsStringAsync();
var websiteduplicate=新的HtmlDocument();
websiteplicate.LoadHtml(resultduplicate);

MatchCollection match=Regex.Matches(resultduplicate,\\\[B\\](.*)此问题是由UA/UWP开发中内置的沙箱造成的。默认情况下,不允许应用程序无限制地访问文件系统

最简单的解决方案是使用用户的本地StorageFolder

以下是其他解决方案:

此问题是由UA/UWP开发中内置的沙箱造成的。默认情况下,不允许应用程序无限制地访问文件系统

最简单的解决方案是使用用户的本地StorageFolder

以下是其他解决方案:

在应用程序中运行vs时,您可以手动访问vs,然后我建议您关闭vs并以管理员身份重新启动它,然后查看它是否可用works@MethodMan已经尝试过了。不起作用可能是因为文件没有创建?您可以在执行程序之前尝试创建文件。@axelwas它已经创建。正如我已经说过的,
.Path
返回.txt文件的有效路径。我在UWP开发中遇到类似问题。您可能无法访问该文件夹,因为UA/UWP非常沙盒化。请尝试使用用户的AppData存储文件夹,看看是否存在相同的访问问题。如果您在应用程序中运行该文件夹时可以手动访问vs,我建议您关闭VS并以管理员身份重新启动,然后查看是否works@MethodMan已经尝试过了。不起作用可能是因为文件没有创建?您可以在执行程序之前尝试创建该文件。@Axelwas它已经创建。正如我已经说过的,
.Path
返回一个有效的.txt文件路径,我在UWP开发中遇到类似问题。您可能无法访问该文件夹,因为UA/UWP非常沙盒。请尝试使用用户的AppData存储文件夹,查看是否存在相同的访问问题。