WinForms: Что происходит со значениями, хранящимися в файлах .resx? - PullRequest
4 голосов
/ 20 октября 2008

Что происходит с парами имя / значение, хранящимися в файле resx формы? Скомпилированы ли они в двоичный файл при компиляции моего проекта?

Для моего конкретного проекта мне бы хотелось иметь возможность редактировать одно из этих значений вручную без перекомпиляции (app.config-style), есть ли простой способ сделать это?

РЕДАКТИРОВАТЬ: Некоторые люди, кажется, не получают мой вопрос. При работе с WinForms, если настройка внутри InitializeComponents () зависит от файла ресурсов формы, просто установите действие построения для копирования всегда, а тип содержимого для содержимого нарушает форму. Я уверен, что есть простое решение, но я не работал с файлами ресурсов, прежде чем запутался в том, что это будет.

Ответы [ 3 ]

4 голосов
/ 20 октября 2008

Если вы поместите значения в файл .resx, по умолчанию они будут скомпилированы в вашу сборку (или сборку сателлитных ресурсов).

Если вам нужна возможность редактировать значения во время выполнения, вам действительно следует использовать либо app.config, либо реестр. Я лично предпочитаю файл app.config.

Самый простой способ поместить значение в файл app.config - использовать вкладку «Настройки» в свойствах проекта.

Если вы настаиваете на сохранении своих значений в файле .resx, я думаю, вы могли бы рассматривать этот конкретный файл .resx как файл содержимого XML и просто скопировать его в выходной каталог. Я не уверен, какие классы фреймворков существуют, чтобы помочь вам разобрать этот файл и использовать его содержимое. Возможно, вам придется прибегнуть к XmlDocument и вашему собственному анализу XL для извлечения / изменения значений.

2 голосов
/ 20 октября 2008

Конечно, откройте его в любом текстовом редакторе, это просто XML. Вы можете сказать VS не встраивать их в свойства.

0 голосов
/ 20 октября 2008

Перейдите к свойствам вашего файла .resx в Visual Studio и установите для параметра «Действия при построении» значение «Содержимое». Это должно установить его не компилировать, и вы сможете скопировать файл .resx с сайта и изменить его в любое время.

Возможно, вы захотите удалить любые скомпилированные ресурсы из вашего проекта, я не уверен, что ASP.NET будет искать их в первую очередь, поскольку они были скомпилированы один раз.

РЕДАКТИРОВАТЬ: только что увидел, что вы ссылаетесь на WinForms, не уверен насчет этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...