Извлечение ресурсов из dll (С++\CLI)
От: ArtSwan Украина  
Дата: 28.08.07 13:19
Оценка:
Подскажите плз!
Как можно прочитать ресурсы из скомпилированной dll (C++/CLI), для работы с ресурсами там по всей видимости используются классы .NET. Способы работающие для обычных exe (PE) и для .NET Asembly здесь не походят...
Заранее благодарен.
Re: Извлечение ресурсов из dll (С++\CLI)
От: brainunit  
Дата: 29.08.07 10:20
Оценка: 1 (1)
Hello.

Попробуй метод Assembly.GetManifestResourceStream(), затем работай с потоком данных из твоего ресурса.
Правильное имя ресурса лучше всего посмотреть с помощью Reflector'a.

Best regards, Oleg
Re[2]: Извлечение ресурсов из dll (С++\CLI)
От: ArtSwan Украина  
Дата: 29.08.07 12:12
Оценка:
Здравствуйте, brainunit, Вы писали:

B>Hello.


B>Попробуй метод Assembly.GetManifestResourceStream(), затем работай с потоком данных из твоего ресурса.

B>Правильное имя ресурса лучше всего посмотреть с помощью Reflector'a.

B>Best regards, Oleg

---------------------------

---------------------------
За Reflector большое спасибо.
Насколько я понимаю перед Assembly.GetManifestResourceStream() нужно сделать Asembly.LoadFrom() в нем я получаю Exception:

System.IO.FileLoadException: Could not load file or assembly 'LemnaGrid, Version=1.0.2795.26515, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему. (Exception from HRESULT: 0x800736B1)

File name: 'LemnaGrid, Version=1.0.2795.26515, Culture=neutral, PublicKeyToken=null' ---> System.Runtime.InteropServices.COMException (0x800736B1): Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему. (Exception from HRESULT: 0x800736B1)

...
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
...

посмотрел зависимости — там только msvcp80.dll у меня она в папке \Microsoft.NET\SDK\v2.0\Bin\, пробовал копировать свою dll в эту папку — результат тот же. Хочу заметить в .NET не очень разбираюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.