Domanda

Ho un modello HTML che voglio recuperare dal file delle risorse in un'applicazione di modulo Windows VS 2005 C#.

Ho creato una cartella chiamata / html / all'interno del progetto, che ha un file chiamato template.html.

Ho aggiunto il file alle mie risorse. Vedo il suo nome proprio come modello, ed è FilePath è il nome file completamente qualificato (C: /.../ Project/html/template.html). Viene salvato come testo piuttosto che binario.

Ho provato molti metodi per estrarre questo file, ma ogni volta che ho restituito un null. Cosa mi manca?

        Type t = GetType();
        Assembly a = Assembly.GetAssembly(t);
        string file = "html.template.html"; // I've tried template and template.html
        string resourceName = String.Concat(t.Namespace, ".", file);

        Stream str = a.GetManifestResourceStream(resourceName);

        if (str == null) // It fails here - str is always null.
        {
            throw new FileLoadException("Unrecoverable error. Template could not be found");
        }
        StreamReader sr = new StreamReader(str);
        htmlTemplate = sr.ReadToEnd();
È stato utile?

Soluzione

Hai provato a cercare Riflettore Al tuo gruppo di output per verificare che il nome delle risorse sia in realtà quello che ti aspetti che sia?

Altri suggerimenti

Il riflettore ha contribuito a scoprire qual è il problema, grazie. Questo è quello che dovevo avere:

string template = Properties.Resources.template;

Non potrebbe essere davvero più facile. Tutte le altre cose sopra erano completamente inutili.

Credo che tu stia dando male la tua risorsa quando tendi di recuperarla.

Una cosa che potresti fare è esaminare l'assemblaggio generato Riflettore E controlla il nome completo della tua risorsa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top