Klicken Sie mit der rechten Maustaste auf die Projektdatei und wählen Sie Eigenschaften.
Wechseln Sie im folgenden Fenster zur Registerkarte Ressourcen. Wenn sich in der Mitte der Registerkarte nur ein blauer Link befindet, klicken Sie darauf, um eine neue Ressource zu erstellen.
Wählen Sie dann in der Symbolleiste über der Registerkarte aus, dass Sie eine neue Textdatei hinzufügen möchten, geben Sie ihr einen Namen. Sie wird Ihrem Projekt hinzugefügt und geöffnet.
Wenn Sie so weit kommen, können Sie in Ihren Code Resources.TheNameYouGaveTheTextFileHere eingeben und auf dessen Inhalt zugreifen. Beachten Sie, dass Sie beim ersten Verwenden der Resources-Klasse in einer Klasse eine using-Direktive hinzufügen müssen (drücken Sie Strg +., Nachdem Sie Resources eingegeben haben, um das Menü aufzurufen, in dem VS dies für Sie erledigt).
Wenn etwas über die obige Beschreibung unklar war, hinterlasse bitte einen Kommentar und ich werde ihn bearbeiten, bis er vollständig oder sinnvoll ist :)
Properties\Resources.Designer.cs
mit einnamespace YourProjectRootNamespace.Properties
, sodass Sie verwenden müssenYourProjectRootNamespace.Properties
.ProjectRootNamespace
wird in den Eigenschaften Ihres Projekts in VisualStudio definiert.In Visual Studio 2003, Visual Studio 2005 und möglicherweise früheren Versionen (dies funktioniert auch 2008) können Sie die Textdatei in Ihr Projekt aufnehmen und dann im Bereich "Eigenschaften" die Aktion auf "Eingebettete Ressource" setzen. Anschließend können Sie mit auf die Datei als Stream zugreifen
Assembly.GetManifestResourceStream(string)
.Andere Antworten hier sind bequemer. Der Vollständigkeit halber füge ich dies hinzu.
Beachten Sie, dass dieser Ansatz zum Einbetten anderer Dateitypen wie Bilder, Symbole, Sounds usw. funktioniert.
quelle
Verwenden Sie diese Datei nach dem Einbetten einer Textdatei an einer beliebigen Stelle in Code wie diesem ...
quelle
ThatFileName
aus einer Variablen angeben möchte ?Ja, Sie sind richtig - erstellen Sie eine Ressourcendatei. Wenn Sie dies tun, müssen Sie die Zeichenfolge nicht "laden", sie wird als Resource.WhateverStringYouDefined bezeichnet.
quelle
Folgendes hat bei mir funktioniert. (Ich musste den Inhalt einer Datei lesen, die in eine ausführbare .NET-Image-Datei eingebettet war.)
Bevor Sie etwas unternehmen, fügen Sie Ihre Datei in Ihre Lösung in Visual Studio ein. (In meinem Fall VS 2017 Community.) Ich habe in den Ordner mit der
Solution Explorer
rechten Maustaste gewechselt, die Datei ausgewählt und ausgewählt. (Sagen Sie , .) Klicken Sie dann mit der rechten Maustaste auf die enthaltene Datei, wählen Sie aus und wählen Sie als aus .Properties
Add Existing Item
FileName.txt
Solution Explorer
Properties
Build Action
Embedded Resource
Verwenden Sie dann diesen Code, um seine Bytes zu lesen:
Beachten Sie , dass Sie in diesem Fall nicht , dass die Datei als Ressource hinzufügen müssen wie in der vorgeschlagenen akzeptierten Antwort .
quelle
Folgendes habe ich getan:
So greifen Sie auf die Ressource zu:
ein. Habe die aktuelle Baugruppe mit der Funktion erhalten:
GetExecutingAssembly()
b. Die Ressource, die ich hinzugefügt habe, war eine Textdatei, also habe ich sie mit in einen Stream eingelesen
GetManifestResourceStream(fileName)
. Ich habe auf die Dateinamen zugegriffen, indem ich angerufen habeGetManifestResourceNames()
c. Verwenden Sie nun eine
StreamReader()
Klasse, um bis zum Ende der Datei in eine Variable zu lesen, wenn Sie dies wünschen.quelle
Hinzufügen zu Pavans Antwort, um die aktuelle Versammlung zu erhalten (im allgemeinen Abschnitt):
GetManifestResourceStream (Dateiname) (im Code, in dem das Lesen aus der Ressource erforderlich ist):
quelle