C# ресурсы в DLL как правильно создать и пользоваться?

программирование C# .net Visual studio c sharp

Необходимо несколько картинок, звуковых файлов и шрифтов вынести в отдельные dll. А то уж больно неаккуратно сейчас: графика, звуки, шрифты - валяются как беспризорные в одном каталоге с программой. А хочется элегантности: пара dll-ок в каталоге настроек, и сам экзешник. Как работать с самой dll вроде бы понял, но это, что касается вынесенных в нее классов. А вот с ресурсами, как-то торможу...

Примечание:
2Майоров Павел
Не спорю. Но я шарп только осваиваю. Поэтому мне это нужно не столько для самого проекта, как для тренировки и обучения.

Примечание:
2lpmonstr
Ссылки видел, да, но для понимания они тяжеловаты. Потому и задал вопрос.
Хранить в проекте... Что-то мне подсказывает, что это не означает хранить ресурсы непосредственно в экзешнике? Я прав? Т.е. в одном Решении, сформировать (допустим) два проекта, которые при компиляции будут разбиты на два отдельных файла, но работать вместе, и подключать вручную, особым образом, их не придется?

Примечание:
Мммм... у меня практически аналог локализации. Различные варианты оформления выводимого текста, различные звуки, фон, и ты ды. В будущем может добавится еще что-то. В случае хранения файлов по каталогам - придется думать о файле настроек, куда и будет добавлятся информация о новых... добавлениях ))
В случае с dll, можно просто сканировать определенный каталог на наличие новых библиотек, и динамически их подключать...
Скайп из одного файла, да, так в нем и полезно-рабочей информации больше. А тут 20кб полезного дела, и 500кб ресурсов... Неаккуратненько!(с) анекдот
Да и хочется для себя найти решение этого вопроса: всякое может пригодиться. Но не на всякий вопрос быстро находится ответ. Я уже второй день гугл мучаю, а толкового ответа пока не нашел... Хотя пока только по рунету ползал...
Ответы:
Мне кажется, лучшим вариантом было бы сложить картинки и прочее не в ресурсы, откуда их потом фиг достанешь, а в субдиректории (картинки - в img, звуковые файлы - в sound и т.п.)
Такое редко требуется на самом деле.
Однако в .NET есть понятие "вспомогательная сборка", которая грузится по заказу.
И в ней можно хранить ресурсы.
Не совсем так.
Проект по сути это сборка. Сборка - это единица компиляции и физически представлена в виде файла dll или exe. Файл exe физически отличается от dll только наличием точки входа, то есть указанием функции, которую надо запускать.
По-моему, CLR достаточно умная штука и подгружает сборки по мере надобности. То есть если ты не работаешь с функционалом другой сборки, то он и не будет загружен.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.