我想知道是否还有其他人有类似的问题。
我的应用程序中有一个简单的文件复制代码,可以简化如下(我的用户打开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);
这段代码很愉快,直到我今天在我的本地机器上尝试它(并且仍在我的testbed机器上工作)。但出于某种原因,它开始抛出以下错误:
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,其安全规则具有当前用户的完全权限,不会更改任何内容。为什么会抱怨源文件目录以?
开头