2009-05-21 18 views

Odpowiedz

12

Możesz to zrobić, dodając plik do zasobów za pośrednictwem właściwości projektu. Visual studio dostarczy Ci przydatnej klasy, aby uzyskać dostęp do pliku przy użyciu następującego kodu:

byte[] theFile = myNamespace.Properties.Resources.theBinaryFile; 

Gdzie nazwa zasobu toBinaryFile.

+1

RE: mój komentarz do odpowiedzi poniżej. Jeśli oryginalny plik ulegnie zmianie, zostanie automatycznie ponownie osadzony podczas następnego tworzenia projektu? – Andy

+1

tak, jeśli zmienisz plik, następna kompilacja zaktualizuje plik zasobów. –

+0

dzięki za pomoc John. – Andy

4

Tak to jest proste:

dodać plik do projektu i ustaw „Buduj działania” na „zasób Embedded”.

W programie zrobić

foreach (string name in Assembly.GetExecutingAssembly().GetManifestResourceNames()) 
{ 
    if (name.EndsWith("<name>", StringComparison.InvariantCultureIgnoreCase)) 
    { 
    using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) 
    { 
     // ... 
    } 
    break; 
    } 
} 

Znalezienie odpowiedniego zasobu jest nieco komplikuje, ponieważ nie ma rzeczy przed nazwą pliku (nazw itp ustawić punkt przerwania na if (...) w celu zobacz nazwę prawdziwego zasobu).

+0

wielkie dzięki, dam mu wir! – Andy

+0

To działa świetnie. Zwłaszcza, że ​​ciągle zmieniam zawartość pliku, a on po prostu ponownie umieszcza go podczas budowania projektu. – Andy

Powiązane problemy