Решение с 2 проектами - разделение свойств. Ресурсы - PullRequest
2 голосов
/ 15 ноября 2008

В Visual C # 2008 у меня есть решение с двумя проектами.

Первый проект содержит форму Form1, которая отображает одну метку с текстом, установленную в строку из Properties.Resources, например:

label1.Text = Properties.Resources.MY_TEXT;

Во втором проекте я «Добавить как ссылку» этой Формы1 из первого проекта. Я хочу показать эту форму, чтобы она отображалась так же, как при вызове из первого проекта. Должна отображаться метка с текстом Properties.Resources.MY_TEXT, определенным в первом проекте.

К сожалению, второй проект не создается со следующим сообщением об ошибке: «Имя« Свойства »не существует в текущем контексте».

Есть ли способ как это решить? Я пытался «Добавить как ссылку» файл «Resources.resx» из первого проекта, но это не помогло.

РЕДАКТИРОВАТЬ: я обнаружил, что если я добавлю Project1 в качестве ссылки в Project2, все работает. Мне также пришлось изменить модификатор доступа в ресурсах Project1 с внутреннего на общедоступный. Это правильный подход?

Спасибо, Petr

Ответы [ 2 ]

2 голосов
/ 16 ноября 2008

Да, это правильный подход (ссылка на один проект из другого). Шаблон, который вы можете использовать, состоит в том, чтобы иметь один проект со всеми вашими ссылками / поиском / настройками. Тогда вам не нужно вырабатывать зависимости между вашими проектами пользовательского интерфейса.

Ваш подход обнародования ресурсов является правильным.

Вы также спрашивали о комбинировании сборок. Взгляните на инструмент ILMerge .

0 голосов
/ 15 ноября 2008

Вы должны добавить «using MyOtherProjectNamespace», чтобы вы могли получить доступ к его свойствам

...