FileInfo..ctor (string fileName) lanzar una excepción: error en SL 4.0 o .NET 4.0?

StackOverflow https://stackoverflow.com/questions/2444407

  •  20-09-2019
  •  | 
  •  

Pregunta

La siguiente caso de prueba pasa en .NET 4.0:

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

... pero falla en Silverlight 4.0 con el siguiente error:

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)

O bien el fallo es un error en SL 4.0, o la no fallo es un error en .NET 4.0. Alguien sabe cual es?

(Para el registro, estoy corriendo SL 4.0 en VS 2010 RC, que puede estar contribuyendo al problema).

¿Fue útil?

Solución

Vea la documentación de MSDN para FileInfo para Siverlight 4:

  

cuando se le llama por un-confianza elevado   aplicación , proporciona métodos de instancia   para la creación, copia, borrado,   en movimiento, y la apertura de los archivos, y ayudas   en la creación de objetos FileStream.   Esta clase no se puede heredar.

Es probable que su aplicación no se está ejecutando con elevada confiar . Si desea acceder a los métodos más estrechos, así tendrá que ser.

En cuanto a por qué está volviendo un nulo - que bien puede ser un error, posiblemente un SecurityException inapropiadamente propagada. Por otra parte, puede ser diseñado como - los documentos también están siendo pre-lanzamiento EDIT:.. La respuesta de Gabe es más probable correcta en este punto

Otros consejos

Ya que por lo general no puede acceder al sistema de archivos de Silverlight (se necesita una aplicación fuera de banda de plena confianza), se ve como SL4 está tratando de lanzar una excepción, pero está fallando porque el texto para esa excepción no está disponible en la versión beta SL4. Es de suponer que se podrían obtener la excepción correcta una vez SL4 se libera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top