Buenas,yo estoy creando una dll que depende de un archivo llamado Data1.txt pero yo no quiero que si le paso a alguien la dll le tenga que pasar también el archivo txt
Por eso quiero agregarlo a los recursos de la dll y hasta lo he conseguido,pero luego quiero leer el archivo txt cuando se ejecuta la dll y quiero leerlo sin extraerlo y escribo lo siguiente:
Dim texto As String
Dim cargador As New System.IO.StreamReader(My.Resources.Data1)
texto=cargador.ReadToEnd
Bueno,pues haciendo eso me da el siguiente error:
Error de resolución de sobrecarga porque ninguna de las funciones 'New' a las que se tiene acceso se puede llamar con estos argumentos:
'Public Sub New(path As String)': Un valor de tipo '1-matriz dimensional de Byte' no se puede convertir en 'String'.
'Public Sub New(stream As System.IO.Stream)': Un valor de tipo '1-matriz dimensional de Byte' no se puede convertir en 'System.IO.Stream'.
Sabeis como podría arreglarlo??
En My.Resources los recursos se guardan o en Binario o en String eso lo decide el compilador automáticamente, no se guardan como un "archivo" y no son una ruta ni un Stream para abrirlos con StreamReader. Ya My.Resources.Data1 es una matriz de bytes. Si deseas transformarlo en String, entonces usa:
System.Text.Encoding.Default.GetString(My.Resources.Data1)
Si lo quieres en Matriz de Bytes ya está así :xD
Si tú preocupación es leerlo realmente con un Stream entonces crea un Stream inicializalo como un MemoryStream con My.Resources.Data1 y abrelo con StreamReader.
Gracias me ha servido perfectamente!!!