У меня есть приложение с файлом .resx. Файл Resx представляет собой простой XML, но после того, как ресурсы будут сохраняться в сборке. Поэтому для изменения ресурсов мне нужно перестроить свои сборки ресурсов. Есть ли способ использовать ресурсы непосредственно из файла resx?
Использование ресурсов .NET без создания
Ответ 1
Как упоминалось в mdm, но не явно написано Нет, вы не можете сделать это без компиляции или без ResourceManager.CreateFileBasedResourceManager
.
Ресурс имеет структуру XML в части .resx, но в этих частях показан только компилятор, где можно найти файлы, которые должны быть включены, и он существует только в вашем проекте, а не после сборки.
Файл ресурсов определяется как внедренный ресурс, означает, что он вложен в сборку. Любые изменения приведут к необходимости в новой компиляции.
Ответ 2
Если вы используете класс ResourceManager
для доступа к своим ресурсам, вы можете использовать resgen
для компиляции вашего файла .resx
в файл .resources
. Затем вы можете создать новый экземпляр класса ResourceManager
, используя ResourceManager.CreateFileBasedResourceManager
вместо new ResourceManager(...)
. Это позволяет указать имя файла ресурса и каталог для поиска внутри.
В качестве примера рассмотрим подход B в этом уроке.