powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Внедрение ресурсов в сборку.
1 сообщений из 1, страница 1 из 1
Внедрение ресурсов в сборку.
    #32467628
Фотография APM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть библиотека типов.
Внутри нее есть один тип ucBase.cs базовый для всех остальных, в нем определен метод

Код: plaintext
1.
2.
3.
4.
5.
private void ucBase_Load(object sender, System.EventArgs e)
		{
			System.Resources.ResourceManager rm = new System.Resources.ResourceManager(this.GetType());
			pcbView.Image=(System.Drawing.Bitmap) rm.GetObject( "PreView" );
		}


От него наследуется куча типов, в resx которых внедряется ресурс типа System.Drawing.Bitmap с именем PreView.

После компиляции однофайловой сборки все замечательно работает. Т.е. при загрузке типов-потомков загружаются те рисунки что внедрены.

Идем дальше собираем многофайловую сборку, команды такие:
Код: plaintext
1.
2.
3.
4.
csc /nologo /t:module /out:base.dll /r:System.Drawing.dll;System.Windows.Forms.dll /res:ucBase.resx ucBase.cs 
csc /nologo /t:module /out:uc1.dll   /addmodule:base.dll /r:System.Drawing.dll;System.Windows.Forms.dll /res:uc1.resx uc1.cs 
csc /nologo /t:module /out:uc2.dll   /addmodule:base.dll /r:System.Drawing.dll;System.Windows.Forms.dll /res:uc2.resx uc2.cs 
al /nologo base.dll uc1.dll uc2.dll  /out:uc.dll /target:lib 

Все собирается но потом во время выполнения (при загрузке типа потомка)возникает ошибка
Код: plaintext
1.
2.
Could not find any resources appropriatefor the specifed culture in the given assembly.
Make sure  "uc1.resources"  was correctly embedded or linked into assembly uc.dll


Пробовал изменить команду линковки на
Код: plaintext
1.
al /nologo base.dll uc1.dll uc2.dll  /out:uc.dll /target:lib /embed:uc1.resx /embed:uc2.resx

результат тот же - опять ошибка времени выполнения.

Был вариант что ресурсы нужно скомпилировать в .resources, пробую:
Код: plaintext
1.
2.
3.
4.
5.
6.
csc /nologo /t:module /out:base.dll /r:System.Drawing.dll;System.Windows.Forms.dll /res:ucBase.resx ucBase.cs 
resgen /compile uc1.resx
csc /nologo /t:module /out:uc1.dll   /addmodule:base.dll /r:System.Drawing.dll;System.Windows.Forms.dll /res:uc1.resources uc1.cs 
resgen /compile uc2.resx
csc /nologo /t:module /out:uc2.dll   /addmodule:base.dll /r:System.Drawing.dll;System.Windows.Forms.dll /res:uc2.resources uc2.cs 
al /nologo base.dll uc1.dll uc2.dll  /out:uc.dll /target:lib 

результат тот же - та же ошибка времени выполнения мля.
пробую линковать с внедрением скомпилированных ресурсов.

Код: plaintext
1.
al /nologo base.dll uc1.dll uc2.dll  /out:uc.dll /target:lib /embed:uc1.resources /embed:uc2.resources


та же хрень - т.е. таже ошибка времени выполнения.

Я в затруднении - куда копать?

Заранее спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Внедрение ресурсов в сборку.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]