Как встроить XML-файл в файл ресурсов - PullRequest
6 голосов
/ 23 августа 2010

Я хочу встроить XML-файл в файл ресурсов в моем проекте, когда мне нужен этот файл, я должен получить его из ресурса и использовать его, как это сделать, и я хочу изменить содержимое XML-файла в зависимости отмои требования. как это сделать

1 Ответ

12 голосов
/ 23 августа 2010

Если вы добавите файл XML в проект Visual Studio и в окне свойств для него выберите Действие сборки : встроенный ресурс, файл будет встроен в выходной артефакт сборки для этого проекта.

Чтобы получить к нему доступ из кода, используйте что-то вроде:

string resourceName = "Namespace.Prefix.FileName.xml";
Assembly someAssembly = LoadYourAssemblyContainingTheResource();
XmlDocument xml = new XmlDocument();
using (Stream resourceStream = someAssembly.GetManifestResourceStream(resourceName))
{
    xml.Load(resourceStream);
}
// The embedded XML resource is now available in: xml

Если загружаемый вами ресурс встроен в вашу собственную сборку, вы можете сделать что-то вроде Assembly.GetExecutingAssembly() для достижения того, что я перечислил как LoadYourAssemblyContainingTheResource() выше, или, возможно, typeof(SomeTypeInYourResourceAssembly).Assembly

Непонятно, что вы подразумеваете под «хотите изменить содержимое» - вы не можете изменять ресурс внутри сборки во время выполнения, но всякий раз, когда вы изменяете файл XML и перекомпилируете, новая версия будет встроена.

...