FileInfo..ctor (string fileName), исключение: ошибка в SL 4.0 или .NET 4.0? - PullRequest
1 голос
/ 15 марта 2010

Следующий тестовый пример проходит в .NET 4.0:

var fiT = new FileInfo("myhappyfilename");
Assert.IsNotNull(fiT);

... но не работает в Silverlight 4.0 со следующей ошибкой:

System.ArgumentNullException: Value cannot be null.
Parameter name: format
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at System.Environment.GetResourceString(String key, Object[] values)
   at System.IO.FileSecurityState.EnsureState()
   at System.IO.FileInfo.Init(String fileName, Boolean checkHost)
   at System.IO.FileInfo..ctor(String fileName)

Либо ошибка является ошибкой в ​​SL 4.0, либо ошибка не является ошибкой в ​​.NET 4.0. Кто-нибудь знает, что это такое?

(Кстати, я использую SL 4.0 на VS 2010 RC, что может быть причиной проблемы).

Ответы [ 2 ]

0 голосов
/ 15 марта 2010

См. Документацию MSDN для FileInfo для Siverlight 4:

Когда это вызвано повышенным доверием приложение , предоставляет методы экземпляра для создания, копирования, удаления, перемещение и открытие файлов и пособий в создании объектов FileStream. Этот класс не может быть унаследован.

Скорее всего, ваше приложение не работает с повышенным доверием . Если вы хотите получить доступ к этим ограниченным методам, это должно быть.

Относительно того, почему он возвращает нулевое значение - , что вполне может быть ошибкой, возможно, неправильно распространяемой исключительной ситуацией SecurityException. Опять же, это может быть так, как задумано - документы также все еще находятся в предварительном выпуске. РЕДАКТИРОВАТЬ: ответ Гейба, скорее всего, правильный в этом отношении.

0 голосов
/ 15 марта 2010

Поскольку вы обычно не можете получить доступ к файловой системе из Silverlight (вам нужно полностью доверенное приложение OOB), похоже, что SL4 пытается вызвать исключение, но терпит неудачу, потому что текст для этого исключения недоступен в SL4 бета. Предположительно, вы получите правильное исключение после выпуска SL4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...