Я ничего не вижу в документах, кроме this, в которых говорится, что «некоторые операции не разрешены», но точно не говорит. Я предполагаю, что он не хочет, чтобы вы копировали из изолированного хранилища в произвольные места на диске. Документы указывают, что назначение не может быть каталогом, но даже если вы исправите это, вы все равно получите ту же ошибку.
Как обходной путь, вы можете открыть файл, прочитать его содержимое и записать их в другой файл.
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForAssembly())
{
//write sample file
using (Stream fs = new IsolatedStorageFileStream("test.txt", FileMode.Create, store))
{
StreamWriter w = new StreamWriter(fs);
w.WriteLine("test");
w.Flush();
}
//the following line will crash...
//store.CopyFile("test.txt", @"c:\test2.txt");
//open the file backup, read its contents, write them back out to
//your new file.
using (IsolatedStorageFileStream ifs = store.OpenFile("test.txt", FileMode.Open))
{
StreamReader reader = new StreamReader(ifs);
string contents = reader.ReadToEnd();
using (StreamWriter sw = new StreamWriter("nonisostorage.txt"))
{
sw.Write(contents);
}
}
}
Если операция не разрешена, вы не можете этого сделать. – SLaks
В Silverlight или на рабочем столе .NET приложение? – dthorpe