Убедитесь, что XML-файл является частью вашего проекта .csproj. (Если вы можете увидеть его в обозревателе решений, у вас все хорошо.)
Установите свойство «Build Action» для XML-файла на «Embedded Resource».
Используйте следующий код для извлечения содержимого файла во время выполнения:
public string GetResourceTextFile(string filename)
{
string result = string.Empty;
using (Stream stream = this.GetType().Assembly.
GetManifestResourceStream("assembly.folder."+filename))
{
using (StreamReader sr = new StreamReader(stream))
{
result = sr.ReadToEnd();
}
}
return result;
}
Всякий раз, когда вы хотите прочитать содержимое файла, просто использовать
string fileContents = GetResourceTextFile("myXmlDoc.xml");
Обратите внимание, что «сборка. папка "должна быть заменена именем проекта и папкой, содержащей файл ресурсов.
Update
На самом деле, assembly.folder
следует заменить на пространство имен, в котором класс создан в той же папке, что и файл XML будет иметь по умолчанию. Обычно это defaultNamespace.folder0.folder1.folder2.....
.
подобный вопрос: HTTP: // StackOverflow.com/questions/3314140/how-to-read-embedded-resource-text-file – ClearCloud8