Первый и второй вопрос решены. Я оставляю их для справки по нерешенному третьему вопросу.
Оригинальный вопрос
Оригинальное название : Не удается создать конструктор ресурсов и получить доступ к строкам ресурсов с разными локалями?
Я хочу локализовать свой проект, и возникли некоторые проблемы.
Мои текущие файлы ресурсов выглядят так:
![2.png](https://i.postimg.cc/0Q04Lqch/2.png)
Значения (только для тестирования):
В Resources.resx
:
![5.png](https://i.postimg.cc/GhdDLnzq/5.png)
В Resources.zh-CN.resx
:
![6.png](https://i.postimg.cc/4NP9n2SZ/6.png)
Первый вопрос
Я не могу запустить пользовательский инструмент (PublicResXFileCodeGenerator) для Resources.zh-CN.resx
, но я могу запустить тот же инструмент для Resources.resx
Почему?
Второй вопрос
Следующий код
Properties.Resources.Culture = CultureInfo.GetCultureInfo("zh-CN");
Console.WriteLine(Properties.Resources.HelloWorld);
выведет "Hello World!" вместо ожидаемого результата «你好 世界!», как определено в Resources.zh-CN.resx
Как напечатать ожидаемый результат?
----- Обновление -----
Я решил вышеупомянутые вопросы самостоятельно, но способ, которым я решил это, смутил меня, и я понятия не имею, что это исправило.
В моем решении у меня есть три проекта, и ресурсы находятся в проекте библиотеки, который зависит от двух других проекты. Я пытаюсь напечатать строку из консольного проекта в этом решении.
Если я перенесу файлы ресурсов в консольный проект, это будет работать хорошо.
Однако мне нужно, чтобы файлы ресурсов были совместно использованы в проекте библиотеки два других.
Итак, третий вопрос.
Третий вопрос
Теперь мне интересно, почему это происходит? И как правильно получить доступ к файлам ресурсов из других проектов в решении?