File.Copy引发UnauthorizedAccessException

阿不思·MPiroglu

我想知道是否还有其他人遇到类似的问题。

我的应用程序中有一个简单的文件复制代码,可以将其简化如下(我打开VS2013来调试代码的用户对源文件夹和目标文件夹的层次结构都具有完全控制权-出于某些原因,我并非如此。尝试在管理员模式下无法运行VS,然后我对用户手动应用了完全控制,无论如何该错误都会抱怨源文件夹)

// sourcefile was thought to be @"C:\tfs\Dev\Source\some-module\bin\Debug\mybinary.dll";
// retrieved through an environment variable, but was pointing to the folder instead of the file inside
Directory.CreateDirectory(myfolder);
File.Copy(sourcefile, Path.Combine(myfolder, Path.GetFileName(sourcefile)), true);

直到我今天在本地计算机上尝试该代码(直到现在在我的测试台计算机上仍然可以使用)之前,该代码都可以正常工作。但是由于某种原因,它开始在下面抛出错误:

System.UnauthorizedAccessException: Access to the path 'C:\tfs\Dev\Source\some-module\bin\Debug' is denied.
Result StackTrace:  
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)

我以为这可能是文件锁定问题,所以我重新启动并重新尝试,但失败了。

源文件夹具有只读属性,并认为这可能是一个问题(很奇怪),我开始尝试取消设置它,但是不能。然后,我将文件夹从tfs工作区移到了另一个文件夹(在c:\ users \ my-user下。),但仍然无法删除只读属性(它似乎可以正常工作,但是再次检查该属性在文件)。我什至疯狂地尝试在所有父文件夹上取消设置只读,然后放弃了。并且绝不能与原始问题有任何关系。

我仔细检查了类似的问题和想法,并没有其他选择。

Win7,.net 4.5.2,VS2013是一些配置。

额外的实验,更新我尝试在具有安全规则的sourcefile目录上使用Directory.CreateDirectory,并且对当前用户具有完全权限,但不会进行任何更改。为什么会抱怨源文件目录开头?

阿不思·MPiroglu

唔。它又发生了。在另一个地方的错误。

我在问题中输入的简化代码未显示实际的代码。我使用一个环境变量作为源文件名,结果发现它指向的是文件夹而不是文件。

我认为这里的问题是Microsoft的UnauthorizedAccess不够直观,无法理解您实际上是在尝试复制目录而不是文件,因此您开始追尾。无论如何,这种情况可能会对其他人有所帮助。不要忘记检查它是您要复制的目录还是文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

File.Copy中的C#UnauthorizedAccessException

当具有相同路径的目录存在时,File.OpenRead()引发UnauthorizedAccessException

NamedPipeClientStream在连接上引发UnauthorizedAccessException

django在/'file'处引发MultiValueDictKeyError

File.ReadAllBytes 抛出 UnauthorizedAccessException:“拒绝访问路径”UWP

AppointmentManager.RequestStoreAsync在Windows Phone中引发system.unauthorizedaccessexception

下载文件将引发UnauthorizedAccessException网络核心2

File.toURI()。toURL()如何引发异常?

Java File.createTempFile()引发NullPointerException

File.Exists可以引发异常吗?

File.createTempFile引发权限被拒绝

Make a copy of the audio output into a file

如何覆盖File :: Copy :: move?

R-file.copy函数

.NET Core 3.0控制台应用程序无法读取文件,引发UnauthorizedAccessException

Copy a specific percentage of each file in a directory to a new file

Java中的异步File.copy

.NET File.Copy等待完成

VBScript Copy same file with adding second in Timestamp

copy_file实际何时返回false?

C#System.IO.File.Copy问题

如何正确使用file.copy()?

uploadFile.getInputstream()引发java.nio.file.NoSuchFileException

Java引发java.nio.file.NoSuchFileException,但是文件存在

File.Replace引发ERROR_UNABLE_TO_MOVE_REPLACEMENT

从stdin / file读取输入并引发错误以减少输入

File.mkdir不会引发IOException,但File.createNewFile会抛出IOException

UnauthorizedAccessException错误

为什么File.copy可以工作,但File.OpenRead提示访问被拒绝?