【问题标题】:C# Delete DLL file with full permission get Unauthorized exceptionC#删除具有完全权限的DLL文件得到未经授权的异常
【发布时间】: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。
  • 看看进程资源管理器:technet.microsoft.com/en-us/sysinternals/…
  • 手动还是编程?
  • 您好,我找到了原因,dll文件被Microsoft Visual Studio devenv.exe的exe文件使用,当我试图删除dll文件时,我无法访问dll文件,原因是devenv.exe,有​​没有我可以从 devenv.exe 解锁文件?

标签: c# dll tfs directoryinfo unauthorizedaccessexcepti


【解决方案1】:

当我将 dll 加载到我的程序中时,我正在使用 dll

 Assembly _assembly = Assembly.LoadFrom(ConfigurationManager.AppSettings["DllPathForBackUp"]);

我把这段代码改成

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

现在我不必将 dll 加载到程序中并得到错误,感谢 @Darren Gourley,谢谢!

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 2012-02-22
    • 1970-01-01
    • 2019-03-11
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多