Решение с 2-мя проектами - совместное использование Properties.Resources
В Visual C# 2008 у меня есть решение с двумя проектами.
Первый проект содержит форму Form1, которая отображает одну метку с текстом, установленным в строку из Properties.Resources, например:
label1.Text = Properties.Resources.MY_TEXT;
Во втором проекте я "Добавить в качестве ссылки" эту форму1 из первого проекта. Я хочу показать эту форму, чтобы она отображалась так же, как при вызове из первого проекта. Должна отображаться метка с текстом Properties.Resources.MY_TEXT, определенным в первом проекте.
К сожалению, второй проект не создается со следующим сообщением об ошибке: "Имя" Свойства "не существует в текущем контексте".
Есть ли способ как это решить? Я пытался "Добавить как ссылку" файл "Resources.resx" из первого проекта, но это не помогает.
РЕДАКТИРОВАТЬ: я обнаружил, что если я добавлю Project1 в качестве ссылки в Project2, все работает. Мне также пришлось изменить модификатор доступа в ресурсах Project1 с внутреннего на общедоступный. Это правильный подход?
Спасибо петя
2 ответа
Да, это правильный подход (ссылка на один проект из другого). Шаблон, который вы можете использовать, состоит в том, чтобы иметь один проект со всеми вашими ссылками / поиском / настройками. Тогда вам не нужно вырабатывать зависимости между вашими проектами пользовательского интерфейса.
Ваш подход обнародования ресурсов является правильным.
Вы также спрашивали о комбинировании сборок. Взгляните на инструмент ILMerge.
Вы должны добавить "using MyOtherProjectNamespace", чтобы вы могли получить доступ к его свойствам