Kliknij prawym przyciskiem myszy plik projektu, wybierz Właściwości.
W oknie, które zostanie otwarte, przejdź do zakładki Zasoby i jeśli ma tylko niebieskie łącze na środku strony zakładki, kliknij je, aby utworzyć nowy zasób.
Następnie z paska narzędzi nad zakładką wybierz, aby dodać nowy plik tekstowy, nadaj mu nazwę, zostanie dodany do twojego projektu i otwarty.
Jeśli zajdziesz tak daleko, możesz w swoim kodzie wpisać Resources.TheNameYouGaveTheTextFileHere i uzyskać dostęp do jego zawartości. Zwróć uwagę, że gdy po raz pierwszy używasz klasy Resources w klasie, musisz dodać dyrektywę using (naciśnij Ctrl +. Po wpisaniu Resources, aby wyświetlić menu, w którym VS zrobi to za Ciebie).
Jeśli coś było niejasne w powyższym opisie, zostaw komentarz, a będę go edytować, dopóki nie będzie kompletny lub będzie miał sens :)
Properties\Resources.Designer.cs
sięnamespace YourProjectRootNamespace.Properties
, więc trzeba korzystaćYourProjectRootNamespace.Properties
.ProjectRootNamespace
jest zdefiniowana we właściwościach projektu w VisualStudio.W programie Visual Studio 2003, Visual Studio 2005 i prawdopodobnie we wcześniejszych wersjach (działa to również w 2008 r.) Możesz dołączyć plik tekstowy do projektu, a następnie w panelu „Właściwości” ustawić akcję na „Zasób osadzony”. Następnie możesz uzyskać dostęp do pliku jako strumienia za pomocą
Assembly.GetManifestResourceStream(string)
.Inne odpowiedzi są tutaj wygodniejsze. Uwzględniam to dla kompletności.
Zwróć uwagę, że to podejście będzie działać w przypadku osadzania innych typów plików, takich jak obrazy, ikony, dźwięki itp.
źródło
Po umieszczeniu pliku tekstowego użyj tego pliku w dowolnym miejscu w kodzie, takim jak ten ...
źródło
ThatFileName
ze zmiennej?Tak, masz rację - utwórz plik zasobów. Gdy to zrobisz, nie musisz "ładować" ciągu, będzie on przywoływany jako Resource.WhthingStringYouDefined.
źródło
Oto, co zadziałało dla mnie. (Musiałem odczytać zawartość pliku osadzonego w wykonywalnym pliku obrazu .NET).
Zanim cokolwiek zrobisz, dołącz plik do rozwiązania w programie Visual Studio. (W moim przypadku Społeczność VS 2017). Przełączyłem się do folderu, a
Solution Explorer
następnie kliknąłem prawym przyciskiem myszyProperties
, wybrałemAdd Existing Item
i wybrałem plik. (Powiedz,.FileName.txt
) Następnie będąc nadal wSolution Explorer
, kliknij prawym przyciskiem myszy dołączony plik, wybierzProperties
i wybierzBuild Action
jakoEmbedded Resource
.Następnie użyj tego kodu, aby odczytać jego bajty:
Zauważ, że w tym przypadku nie musisz dodawać tego pliku jako zasobu, jak zaproponowano w zaakceptowanej odpowiedzi .
źródło
Oto co zrobiłem:
Aby uzyskać dostęp do zasobu:
za. Otrzymałem bieżący zestaw przy użyciu funkcji:
GetExecutingAssembly()
b. Zasób, który dodałem, był plikiem tekstowym, więc wczytułem go do strumienia za pomocą
GetManifestResourceStream(fileName)
. Sposób, w jaki uzyskałem dostęp do nazw plików, to dzwonienieGetManifestResourceNames()
do. Teraz użyj
StreamReader()
klasy, aby wczytać do końca pliku zmienną, jeśli tego chcesz.źródło
Dodając do odpowiedzi Pavana, aby uzyskać bieżący montaż (w sekcji ogólnej):
GetManifestResourceStream (fileName) (w kodzie, gdzie wymagany jest odczyt z zasobu):
źródło