【发布时间】:2016-02-14 17:33:59
【问题描述】:
我正在尝试从destBackUpFolder 删除所有文件,结果是从文件夹中删除了所有文件除了 1 个 dll 文件,我得到一个 未经授权的异常表示访问 dll 文件被拒绝。我已经通过将文件属性设置为正常并逐个文件删除文件来尝试来自网络的建议,检查我的权限并确保我的权限被允许删除文件但所有这些方法都不起作用,为什么我得到未经授权的异常即使我的权限设置为完全控制?仅供参考,我正在使用 Team Foundation Server 进行开发版本控制,这里的问题与我的 TFS 有关吗?提前致谢。
try
{
DirectoryInfo folderToBeDelete = new DirectoryInfo(destBackUpFolder);
folderToBeDelete.Delete(true);
if (Directory.Exists(backupFolder))
{
Directory.CreateDirectory(destBackUpFolder);
result = CopyFileAndFolder(backupFolder, destBackUpFolder);
if (result)
{
ErrorMsg = "Copy process Failed,Your File has rolled back to previous version";
IsErrorDetected = true;
}
}
}
catch (Exception)
{
ErrorMsg = "Error during roll up process";
IsErrorDetected = true;
}
//block of code where i trying to get my version number of the dll
Assembly _assembly = Assembly.LoadFrom(ConfigurationManager.AppSettings["DllPathForBackUp"]);
Version versionNumber = _assembly.GetName().Version;
completeVersionNumber = versionNumber.Major + "." + versionNumber.Minor + "." + versionNumber.Build + "." + versionNumber.Revision;
【问题讨论】:
-
也许这个 dll 正在使用中?您的系统是否允许您手动删除 dll?
-
感谢您的快速回复,我也无法手动删除 dll,我收到消息说 dll 正在使用中。在这种情况下如何检查哪个进程正在使用我的 dll。
-
手动还是编程?
-
您好,我找到了原因,dll文件被Microsoft Visual Studio devenv.exe的exe文件使用,当我试图删除dll文件时,我无法访问dll文件,原因是devenv.exe,有没有我可以从 devenv.exe 解锁文件?
标签: c# dll tfs directoryinfo unauthorizedaccessexcepti