Этот снипп хорошо работает, если я пытаюсь писать в пользовательском каталоге, но как только я попытаюсь записать его в Program Files, он просто выполняет молча, и файл не был скопирован (без исключения). Если я попытаюсь скопировать файл в C: \ или в C: \ Windows, я поймаю UnauthorizedAccessException.Невозможно скопировать файл с соответствующими разрешениями с помощью FileIOPermission
Вы знаете другой способ получить разрешения на запись в этом каталоге или заставить его работать другим способом?
Любая помощь очень ценится! Благодаря
using(FileStream fs=File.Open(source, FileMode.Open)){ }
try
{
FileIOPermission fp = new FileIOPermission(FileIOPermissionAccess.Write,
AccessControlActions.Change, "C:\\Program Files\\MyPath");
fp.Demand(); //<-- no exception but file is not copied
File.Copy("C:\\Users\\teebot\\Documents\\File.xml","C:\\Program Files\\MyPath\\File.xml",true);
}
catch(SecurityExceptions)
{
throw(s);
}
catch(UnauthorizedAccessException unauthroizedException)
{
throw unauthroizedException;
}
При повторном исключении просто используйте throw; - бросить; стирает трассировку стека. – 2008-10-01 21:45:13