Когда я пытаюсь открыть OneDrive пути к файлам из приложения WPF я получаю следующее сообщение об ошибке при использовании File.ReadAllText(filename);
:Как открыть OneDrive файлов из приложения WPF
The file cannot be accessed by the system.
Несмотря на попытку проверить права доступа на чтение в явном виде:
private static bool HasReadPermissions(string filename)
{
FileSystemSecurity security = File.GetAccessControl(filename);
var rules = security.GetAccessRules(true, true, typeof(NTAccount));
var currentUser = new WindowsPrincipal(WindowsIdentity.GetCurrent());
foreach (FileSystemAccessRule rule in rules)
{
if (!currentUser.IsInRole(rule.IdentityReference.Value) || (rule.FileSystemRights & (FileSystemRights.ReadData | FileSystemRights.Read)) == 0)
{
continue;
}
if (rule.AccessControlType == AccessControlType.Deny)
{
return false;
}
if (rule.AccessControlType == AccessControlType.Allow)
{
return true;
}
}
return false;
}
есть ли способ, чтобы проверить наличие OneDrive разрешений или для обнаружения файла, является ли OneDrive файл или на самом деле открыть OneDrive файлы в приложении WPF? Я думаю, что проблема в том, что этот файл доступен онлайн - только может быть проблема; есть ли способ обнаруживать только онлайн-файлы в WPF или настольных приложениях Windows?
Помогло ли это? Http: //blogs.msdn.com/b/dotnet/archive/2013/11/25/opening-files-from-skydrive-using-net.aspx –
Не могли бы вы предоставить пример пути? –