首页 > 解决方案 > .NET Core 3.0 控制台应用程序无法读取文件,抛出 UnauthorizedAccessException

问题描述

我创建了一个 .NET Core 3.0 MS 测试项目(类型为控制台应用程序)。我有一个尝试读取文件的单元测试:

var imageFile = new System.IO.FileStream("../../../InputFiles/Documents/boksit.pdf", System.IO.FileMode.Open); 

当我运行这个时,我得到这个错误:

System.UnauthorizedAccessException: Access to the path '...boksit.pdf' is denied.

我在最新的 Windows 10 上运行。我已授予所有人访问此文件及其包含文件夹的权限。我还尝试从 C:\temp\boksit.pdf 读取文件并得到相同的结果。

这不是 ASP.NET 应用程序。那么为什么它不能简单地读取这个文件呢?这是一个单元测试项目,所以需要能够读取文件。对此的任何帮助将不胜感激。我是 .NET Core 的新手,所以如果这是基本问题,我深表歉意 - 但我找不到这个问题的任何答案;一切都适用于 ASP.NET Core(当然,它有一个非常不同的权限模型)。

标签: c#.netunit-testing.net-core

解决方案


好的,我想通了。该文件已在 Windows 中设置为只读。这是由我的版本控制系统 (TFS) 设置的。取消选中此选项可解决问题。


推荐阅读