В прошлом я занимался выделением сборок для файлов ресурсов (resx).По умолчанию они «встроены» в сборку.Хитрость заключается в том, чтобы изменить свойство файла resx, чтобы оно НЕ было встроено (False).Таким образом, файлы представляют собой отдельные файлы resx xml, которые должны идти вместе со сборкой (и находиться в том же каталоге / bin запущенного приложения).Это то, что вы видите в некоторых каталогах / bin с / en-US / и другими ресурсами.В прошлом я создавал простой графический интерфейс для пользователей, чтобы иметь возможность редактировать эти файлы resx, которые записываются обратно на диск.Я не знаком с внутренней работой Silverlight для этого типа необходимых разрешений, но я бы подумал, что в худшем случае отредактированные файлы resx просто загружаются на сервер, где новая копия загружается при следующем перезапуске приложения или тому подобное.
Теперь, когда я сказал «в прошлом», это было в 2003 году.Недавно мне пришлось делать это вручную, используя ResXResourceReader
из-за существующей сборки, которую я не мог изменить.
Пример кода (запись из памяти, полностью непроверенная):
using (var reader = new ResXResourceReader("[path-to-bin]/MyResources.resx"))
{
var value = reader["My_key_in_the_resx_file"].ToString;
}
Обратите внимание, что, пройдя этот маршрут, вы получите доступ к другим типам ресурсов, таким как двоичные файлы и файлывстроенные в него файлы resx.
Наконец, следите за форматами кодирования.Некоторые зарубежные редакторы используют UTF16.Поэтому может потребоваться использование обычного конвертера Unicode.
Также обратите внимание, что существует класс ResXResourceWriter
, если вы хотите использовать собственные программы записи для обновления файлов resx с помощью кода.