C#使用完全权限删除DLL文件获取未经授权的异常

C#使用完全权限删除DLL文件获取未经授权的异常,c#,dll,tfs,directoryinfo,unauthorizedaccessexcepti,C#,Dll,Tfs,Directoryinfo,Unauthorizedaccessexcepti,我正试图从destBackUpFolder中删除所有文件,结果是除1个dll文件外,所有文件都从文件夹中删除,我收到一个未经授权的异常表示对dll文件的访问被拒绝。我已经尝试了从web上的建议,将文件属性设置为“正常”,并逐个文件删除,检查我的权限,确保允许我删除文件,但所有这些方法都不起作用,为什么即使我的权限设置为“完全控制”,我也会收到未经授权的异常?FI,我在开发版本控制中使用 Team Foundation Server < /强>,这里的问题与我的TFS有关吗?提前谢谢 try {

我正试图从
destBackUpFolder
中删除所有文件,结果是除1个dll文件外,所有文件都从文件夹中删除,我收到一个未经授权的异常表示对dll文件的访问被拒绝。我已经尝试了从web上的建议,将文件属性设置为“正常”,并逐个文件删除,检查我的权限,确保允许我删除文件,但所有这些方法都不起作用,为什么即使我的权限设置为“完全控制”,我也会收到未经授权的异常?FI,我在开发版本控制中使用<强> 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

 Assembly _assembly = Assembly.LoadFrom(ConfigurationManager.AppSettings["DllPathForBackUp"]);
我将此代码更改为

FileVersionInfo.GetVersionInfo(ConfigurationManager.AppSettings["DllPathForBackUp"]).FileVersion;

现在,我不必将dll加载到程序中并获得错误,这要归功于@Darren Gourley,谢谢

也许dll正在使用中?您的系统允许您手动删除dll吗?感谢您的快速回复,我也不能手动删除dll,我收到消息说dll正在使用。如何在这种情况下检查哪个进程正在使用我的dll。查看process Explorer:手动还是编程?您好,我找到了原因,dll文件被Microsoft Visual Studio devenv.exe中的exe文件使用,当我试图删除dll文件时,由于devenv.exe,我无法访问dll文件,我是否可以从devenv.exe解锁文件?