Почему я не могу удалить сихронизированную папку OneDrive с C#?C#

Место общения программистов C#
Anonymous
 Почему я не могу удалить сихронизированную папку OneDrive с C#?

Сообщение Anonymous »

Моя проблема в том, что я хочу удалить папку, созданную мне в каталоге OneDrive в системе пользователей. Каталог, который вы достигаете при вводе «%onedrive%» в исследователе файла, но я получаю ошибку: < /p>

system.io.ioexception: доступ к пути '\? \ C: \ users \ user \ ondrive \ dokumente \ test \ dc978eb5340c40d2887ad68fcd70a765' отказано. FullPath, Win32_find_Data & FindData, Boolean toplevel)

at system.io.filesystem.removedirectory (string fullpath, boolean -рекурсивное) br /> at exaterondriveerror.form1.deletebutton_click (отправитель объекта, Eventargs e) в C: \ projects \ cmi \ exampleDonRiveError \ exatternoNeRiveerror \ form1.cs: строка 47 < /p>
< /blockquote>
Я попробовал следующие вещи: < /p>

Вручное редактирование разрешений каталога, поэтому папка может быть удалена всеми < /li>
выполнить приложение как Администратор < /li>
Переместите каталог в другой каталог, который не является синхронизированным onedri ). удаляется, папка остается вокруг. Отключить синхронизацию OneDrive, что удаляется, он также работает в не в каких каталогах. />

Код: Выделить всё

public partial class Form1 : Form
{
private static DirectoryInfo info;
private static string FILE_NAME = "bbb.txt";

public Form1()
{
InitializeComponent();
}

private void createFolder_Click(object sender, EventArgs e)
{
var currentDirectory = AppDomain.CurrentDomain.BaseDirectory;

var sourceFile = Path.Combine(currentDirectory, FILE_NAME);

if (!File.Exists(sourceFile))
{
Console.WriteLine("Error: Source file not found.");
return;
}

var oneDrivePath = Environment.GetEnvironmentVariable("OneDrive");

if (string.IsNullOrEmpty(oneDrivePath))
{
Console.WriteLine("Error: OneDrive environment variable is not set.");
return;
}

var newDirectory = Path.Combine(oneDrivePath, "Dokumente", "Test", Guid.NewGuid().ToString("N"));
info = Directory.CreateDirectory(newDirectory);

var destinationFile = Path.Combine(newDirectory, FILE_NAME);

File.Copy(sourceFile, destinationFile);

Console.WriteLine($"File copied successfully to: {destinationFile}");
}

private void deleteButton_Click(object sender, EventArgs e)
{
try
{
info.Delete(true);
}
catch (Exception exception)
{
Console.WriteLine(exception);
}
}
}
< /code>
Это базовое приложение Winforms с кнопкой Create and Delete. Файл - это базовый файл TXT, который я добавил в качестве EmbeddedResource 
.

Подробнее здесь: https://stackoverflow.com/questions/794 ... der-with-c

Вернуться в «C#»