2010-06-13 2 views
9

Я хочу добавить некоторый XML-файл в качестве ресурса в мой проект библиотеки классов. Любая идея, как это сделать, и назовите ее позже? В приложении с окнами я бы сделал это как ClassLibrary1.Properties.Resources.file.xmlресурсов в проекте библиотеки классов

Но здесь не получилось понять, как я это делаю здесь?

+0

Что вы делали, что не сработало? Что вы пробовали? – dtb

+6

Где на Земле «здесь»? –

ответ

9

This article объясните, как использовать встроенные ресурсы в C#.

Она сводится к

  1. В «время Design»: Добавить файл проекта и пометить его как внедренный ресурс (свойства)
  2. В «Run Time»: Получить экземпляр собрания, который держит ресурс, который вы хотите, затем получите этот ресурс как поток.

var assembly = Assembly.GetExecutingAssembly();

var stream = assembly.GetManifestResourceStream ("full.qualified.name.of.the.resource");

Если вы изо всех сил, чтобы выработать FQ имя ресурса, ленивый способ заключается в использовании reflector, чтобы открыть сборку, которая держит его. Перейдите в папку «Ресурсы», щелкните правой кнопкой мыши на конкретном ресурсе и выберите «Копировать».

+0

Спасибо. Это помогло мне. Другим способом получения имен без загрузки инструмента является доступ к _assembly.GetMainfestResourceNames() и привязка к нему точки останова. Вы получите все имена, затем вы можете скопировать/вставить его и избавиться от своего вызова, чтобы получить имена. :) – bgs264

8

В окна приложения я хотел бы сделать это как ClassLibrary1.Properties.Resources.file.xml

По умолчанию класс генерируется для доступа к ресурсам является внутренним, так что вы не можете получить доступ к нему из другой сборке. Если вам нужно сделать это общедоступным, выберите файл .resx, перейдите к его свойствам и измените свойство Custom tool с «ResXFileCodeGenerator» на «PublicResXFileCodeGenerator». Этот настраиваемый инструмент генерирует публичные классы, которые должны решить вашу проблему.

2

Щелкните правой кнопкой мыши по проекту библиотеки классов, выберите свойства, на вкладках слева выберите раздел «Ресурсы».

Поскольку ваши .resx-файлы не распознаются Visual Studio, добавьте новый. Он создаст новый файл .resx.

Скопируйте все исходное содержимое и вставьте в новый. Затем вы можете удалить старый. Вот и все!

Вам нужно будет повторить тот же процесс для всех поддерживаемых языков.