2015-11-13 10 views
1

Я пытаюсь удалить все файлы из destBackUpFolder, результат все файлы будут удалены из папки кроме 1 длл файл, я получаю Несанкционированное Исключение говорит, что Доступ к файлу dll отрицается. Я попытался предложить веб-сайт, установив атрибут файла в нормальное состояние и удалив файл по файлу, проверьте мое разрешение и удостоверяю, что мое разрешение разрешено удалять файл, но все эти методы не работают. Почему я получаю несанкционированное исключение, даже мое разрешение установлен на полный контроль? FYI, я использую Team Foundation Server для моего контроля версий разработки. Проблема здесь связана с моей TFS? Заранее спасибо.C# Удаление файла DLL с полным разрешением получить Несанкционированное исключением

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; 
+0

Возможно, dll используется? Позволяет ли ваша система удалять dll вручную? –

+0

спасибо за быстрый ответ, я тоже не могу удалить dll вручную, я получил сообщение о том, что dll используется. Как проверить, какой процесс использует мою dll в этом случае. –

+0

Посмотрите на Process Explorer: https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx?f=255&MSPPError=-2147217396 –

ответ

1

я использовал DLL, когда я загрузил DLL в моей программе с

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

я изменить этот код

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

Теперь я не должен загрузить DLL в программы и получить ошибку, кредит @ Даррен Гурли, спасибо!