Embedded Resource

Richieste di supporto in merito a problemi su hardware e firmware

04/01/2013 09:35:36
Gravatar
Totale Interventi 41

Embedded Resource

Ciao!

 

Che voi sappiate si possono caricare a runtime Embedded Resource?  E non mi riferisco a string da resx ma veri e propri file marcati come Build Action "Embedded Resource".

 

Grazie

04/01/2013 09:44:52
Gravatar
Totale Interventi 75

Re: Embedded Resource

Potresti utilizzare il ResourceManager in maniera praticamente identica a quanto faresti sul .NET Framework "senior", ma il mio consiglio è quello di utilizzare comunque il compilatore di risorse (associato come Custom Tool ai file .resx) e referenziare le risorse sempre come oggetti tipizzati. Quello che forse ti è sfuggito è che ad un resx puoi aggiungere risorse di tutti i tipi: sia "base" (accessibili tramite metodi "getter" specificamente tipizzati) che "raw" (accessibili a runtime come array di byte).

Fammi sapere come va...

04/01/2013 09:58:27
Gravatar
Totale Interventi 41

Re: Embedded Resource

Ti spiego meglio, in pratica devo mettere dei file HTML embeddati e volevo poterli editare facilmente. Averli dentro un file resx è un po' macchinoso.

L'ideale sarebbe avere un'app web di test e poi linkare gli stessi file nella class library microframework e settarli come embedded resources.

Altrimenti basandomi sui resx ci vorrebbe un tool magico che prende i file da quell app e li sbatte nel resx....  Immagini incluse.

Dopodichè aggiungendo un default web hanlder al web server gageteer carico le risorse in base al path e le ritorno!  Ora ci vuole ancora un po' di magia per riempire il file resx e sopratutto per determinarne il mime type e ricaricarlo correttamente, ma quello si potrebbe dedurre dalle estensioni dei file.  Manca ancora la "magia" per i dati dinamici...   ma anche li...   estensione particolare del file e con un dictionary di contesto si puo' pensare di fare quasi un web server che serve pagine dinamiche.

Che ne pensi?

04/01/2013 14:32:25
Gravatar
Totale Interventi 41

Re: Embedded Resource

rileggendo bene: cosa intendi per  compilatore di risorse?

esempi concreti?

04/01/2013 19:29:42
Gravatar
Totale Interventi 75

Re: Embedded Resource

Ad esempio con il progetto che trovi a questo link puoi vedere sfruttato il compilatore di risorse (incluso nel .NETMF SDK, diverso da quello del .NET senior ma molto simile nell'utilizzo), attivato da Visual Studio come custom tool dei file .resx, come segue:

// Stringa embeddata
            Debug.Print(Resources.GetString(Resources.StringResources.String1));
            
            // File embeddato (incluso o linkato nel progetto)
            Debug.Print(Resources.GetString(Resources.StringResources.TextFile1));
            
            // File XML (idem)
            Debug.Print(Resources.GetString(Resources.StringResources.Links));

            // File binario "raw" (in questo caso un PDF)
            byte[] pdfHeader = Resources.GetBytes(Resources.BinaryResources.MountaineerETH);
            byte[] buf = new byte[4];
            Array.Copy(pdfHeader, 1, buf, 0, 3);
            string pdfHeaderString = new string(System.Text.Encoding.UTF8.GetChars(buf));
            Debug.Print(pdfHeaderString);   // Scrive "PDF"
04/01/2013 20:24:30
Gravatar
Totale Interventi 41

Re: Embedded Resource

Grazie investighero!