hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Как в C# получить доступ к ресурсам из библиотеки классов dll?

Здравствуйте! Со вчерашней ночи не могу разобраться. Создал WinFroms приложение, потом добавил в проект пустой файл ресурсов. В файл ресурсов добавил картинку и получаю картинку во время работы приложения так:
pictureBox1.Image = Resource1.TestImage;
Но если создать библиотеку классов, то ide не видит файл Resource1.resx. Пробовал так:
global::library
но ide показывает, что в проекте есть только класс "MyClass".
Зачем мне это? Пишу программу с поддержкой плагинов. Из плагина (dll) экспортируются кроме методов, еще и изображения (что бы добавлять кнопки на панели инструментов в основной программе). Раньше делал так (в плагине):
public Image SetToolBarIcon()
		{
			return Image.FromFile("image.jpg");
		}

Но проблема в том, что изображения должны быть в одной папке с плагином, а это не удобно.
Читал что есть ResourceManager, но пока не уверен, что это то, что мне нужно.
Все же интересует вопрос, почему таким простым методом нельзя получить доступ к ресурсам из библиотеки?
5c628b84d24a4559004173.png
  • Вопрос задан
  • 761 просмотр
Решения вопроса 1
shai_hulud
@shai_hulud
либо в Library для сборки добавить атрибут InternalsVisibleToAttribute.
либо сделать класс ресурсов Resource1 публичным, для этого в свойствах файла поменять Custom Tool с ResXFileCodeGenerator на PublicResXFileCodeGenerator.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы