Я получил исключение UnauthorizedAccessException в ~ 20% Асинхронное копирование файлов
public async static Task DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs, ProgressBar pb)
{
DirectoryInfo dir = new DirectoryInfo(sourceDirName);
if (!dir.Exists)
{
throw new DirectoryNotFoundException("Source directory does not exist or could not be found: " + sourceDirName);
}
DirectoryInfo[] dirs = dir.GetDirectories();
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
float files = Directory.GetFiles(sourceDirName, "*.*", SearchOption.AllDirectories).Count();
float count = 0;
foreach (string dirPath in Directory.GetDirectories(sourceDirName, "*", SearchOption.AllDirectories))
{
Directory.CreateDirectory(dirPath.Replace(sourceDirName, destDirName));
foreach (string filename in Directory.EnumerateFiles(dirPath))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(filename.Replace(sourceDirName, destDirName)))
{
count++;
float percentage = count / files * 100;
pb.Value = (int)percentage;
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
}
foreach (string filename in Directory.EnumerateFiles(sourceDirName))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(destDirName + filename.Substring(filename.LastIndexOf('\\'))))
{
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
}
И
try
{
StatusBar.Text = "Trwa kopiowanie plików...";
await CopyAsync.DirectoryCopy(game_path, installing_path, true, LowerPB);
}
catch (UnauthorizedAccessException)
{
Error.ShowError("You don't Have Permission! Run as Administrator!");
Environment.Exit(0);
}
Любое предложение, как я могу решить эту проблему? Я пытаюсь исправить это для20 минут и я не знаю что это такое.Я пытаюсь работать от имени администратора, и это также не работает.