Jak uzyskać lokalizację pliku znajdującego się w zasobach?

0

Witam,
Mam dodany w zasobach jakiś plik. Mam też funkcję, która do działania wymaga podania pełnej lokalizacji do pliku. Nie mam pojęcia jak odwołać się do tego pliku, aby została zwrócona lokalizacja do niego. Wiem, że istnieje takie polecenie:

 
Properties.Resources.plik

Ale to zwraca zawartość tego pliku, a nie jego lokalizację. Czy ktoś wie jak to zrobić?

Z góry dziękuję i pozdrawiam,
brando

0

Musisz wypakować plik z zasobów i podać tę wypakowaną ścieżkę.

0

Ten plik jest wypakowany - znajduje się w folderze Resources. Odwołuję się teraz do niego w taki sposób:

 
string lokalizacja = Path.GetFullPath("..\\..\\Resources\\mojplik");

Ten sposób działa, aczkolwiek jest to obejście problemu. Poza tym ten spoób nie zawsze działa, bo jeżeli folder Resources nie istnieje w danej lokalizacji to program się wysypuje, bo nie może znaleźć tego pliku. Nie po to wrzucałem plik to zasobów, żeby odwoływać się do pliku, który nie jest w zasobach. Chyba, że chodzi Ci o coś innego.

2
public class Utility
{
    /// <summary>
    /// Takes the full name of a resource and loads it in to a stream.
    /// </summary>
    /// <param name="resourceName">Assuming an embedded resource is a file
    /// called info.png and is located in a folder called Resources, it
    /// will be compiled in to the assembly with this fully qualified
    /// name: Full.Assembly.Name.Resources.info.png. That is the string
    /// that you should pass to this method.</param>
    /// <returns></returns>
    public static Stream GetEmbeddedResourceStream(string resourceName)
    {
        return Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName);
    }

    /// <summary>
    /// Get the list of all emdedded resources in the assembly.
    /// </summary>
    /// <returns>An array of fully qualified resource names</returns>
    public static string[] GetEmbeddedResourceNames()
    {
        return Assembly.GetExecutingAssembly().GetManifestResourceNames();
    }
} 

1 użytkowników online, w tym zalogowanych: 0, gości: 1