Visual Studio 2015 调试时出现 UnauthorizedAccessException 错误

3
今天我花了一些时间阅读一些类似的帖子来解决这个问题。在Release模式下运行是可以的——没有这样的错误或问题。但在Debug模式下,我无法打开任何文本文件。注意,我在这里找到并阅读了一篇文章,指出我正在以管理员模式运行Visual Studio 2015。但我无法确定问题所在。有人能够指导我正确的方向吗?
来自catch的Debug输出:
异常抛出:'System.UnauthorizedAccessException' in mscorlib.dll
文件无法读取:
拒绝访问路径'D:\TestFiles\Basic TextFiles\TextFile.txt'.
    private void Open_Executed(object sender, ExecutedRoutedEventArgs e)
    {
        OpenFileDialog dlg = new OpenFileDialog();
        dlg.Filter = "Rich Text Format (*.rtf)|*.rtf|CSharp (*.cs)|*.cs|XAML Format (*.xaml)|*.xaml|All files (*.*)|*.*";
        if (dlg.ShowDialog() == true)
        {
            try
            {
                using (Stream sr = new FileStream(dlg.FileName, FileMode.Open))
                {
                    TextRange range = new TextRange(rtbEditor.Document.ContentStart, rtbEditor.Document.ContentEnd);
                    range.Load(sr, DataFormats.Rtf);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("The file could not be read:");
                Debug.WriteLine(ex.Message);
            }
        }
    }

你尝试过删除/移动文件 D:\TestFiles\Basic TextFiles\TextFile.txt 吗? - Hari Prasad
我无法打开C:| D:| S:驱动器上的任何文本文件,即我的笔记本电脑上的任何驱动器。尝试移动它,但结果相同。发行版没有问题。 - Fisher_Coder
我怀疑即使是发布版本也存在这个问题,因为Debug.WriteLine仅在调试模式下工作,所以你看不到异常。 - Hari Prasad
检查文件属性,我强烈感觉文件是只读的。 - Hari Prasad
2个回答

0
我在为WCF Web服务编写UnitTest时遇到了这个问题。 在这种情况下,我必须启动inetmgr - 并在Default Web Site上 - 编辑权限 - 然后在Security选项卡上找到IIS_USRS并且WRITE权限不存在。 单击“编辑”- 检查该权限,然后未经授权的异常就停止了。 由于服务在VS2019中使用了IIS_EXPRESS - 我没有在Default Web Site上设置它 - 这是新Web服务的上下文。

0

好的,感谢Hari Prasad的帮助,我终于解决了我的问题。我一直在使用的测试文本文件在所有文件夹中都被标记为只读。不确定但似乎是由于bitDefender勒索软件功能引起的。移动文件或删除并创建新文件并没有解决我的问题。但是在查看一些旧的类似帖子时,我发现它们都被设置为只读。取消选中“只读”选项解决了我的问题,并将此文件夹从bitdefenders勒索软件监控功能中删除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接