Хранение DLL в ресурсах
От: BigWolf Казахстан  
Дата: 20.10.09 04:45
Оценка:
Доброго времени суток.
Возникла необходимость хранения unmanaged DLLки в ресурсах .Net приложения и тягать из нее функции.
Намекните как это можно провернуть, и можно ли вообще???
Re: Хранение DLL в ресурсах
От: BluntBlind  
Дата: 20.10.09 05:59
Оценка:
Здравствуйте, BigWolf, Вы писали:

BW>Доброго времени суток.

BW>Возникла необходимость хранения unmanaged DLLки в ресурсах .Net приложения и тягать из нее функции.
BW>Намекните как это можно провернуть, и можно ли вообще???

Добавь ее в проект, как existing item и в пропертях поставь Embeded.
Смотри класс ResourceManager, он может тебе открыть этот файл как поток...
Re[2]: Хранение DLL в ресурсах
От: BigWolf Казахстан  
Дата: 20.10.09 06:20
Оценка:
Hello BluntBlind,

> Здравствуйте, BigWolf, Вы писали:

>
BW>> Доброго времени суток.
BW>> Возникла необходимость хранения unmanaged DLLки в ресурсах .Net
BW>> приложения и тягать из нее функции.
BW>> Намекните как это можно провернуть, и можно ли вообще???
> Добавь ее в проект, как existing item и в пропертях поставь Embeded.
> Смотри класс ResourceManager, он может тебе открыть этот файл как
> поток...
>

Гм.. спасибо... попробую....
Posted via RSDN NNTP Server 2.1 beta
Re: Хранение DLL в ресурсах
От: Unhandled_Exception Россия  
Дата: 20.10.09 07:22
Оценка:
Здравствуйте, BigWolf, Вы писали:

BW>Возникла необходимость хранения unmanaged DLLки в ресурсах .Net приложения и тягать из нее функции.

BW>Намекните как это можно провернуть, и можно ли вообще???

все можно, если осторожно.

либо вручную смаппить dll-ку (тут на рсдн проскакивало пару кусков кода), либо попробовать boxedapp: создать псевдофайл, загрузить туда содержимое ресурса, а потом как обычно ее использовать.
Re: Хранение DLL в ресурсах
От: Warturtle  
Дата: 20.10.09 08:41
Оценка:
Здравствуйте, BigWolf, Вы писали:

BW>Доброго времени суток.

BW>Возникла необходимость хранения unmanaged DLLки в ресурсах .Net приложения и тягать из нее функции.
BW>Намекните как это можно провернуть, и можно ли вообще???
Как уже сказали, можно добавить в проект как Embedded. Потом вытащить и записать файл в нужное место, потом "тягать функции".
Assembly asm = Assembly.GetExecutingAssembly();
Stream stm = asm.GetManifestResourceStream(<namespace> + "." + <file name>);
BinaryReader br = new BinaryReader(stm);
File.WriteAllBytes(<путь для сохранения dll>, br.ReadBytes((int)stm.Length));

— дальше через DllImport.
Re[2]: Хранение DLL в ресурсах
От: BigWolf Казахстан  
Дата: 20.10.09 09:48
Оценка:
Hello Warturtle,

> Здравствуйте, BigWolf, Вы писали:

>
BW>> Доброго времени суток.
BW>> Возникла необходимость хранения unmanaged DLLки в ресурсах .Net
BW>> приложения и тягать из нее функции.
BW>> Намекните как это можно провернуть, и можно ли вообще???
> Как уже сказали, можно добавить в проект как Embedded. Потом вытащить
> и записать файл в нужное место, потом "тягать функции".
>
>
> 
> Assembly asm = Assembly.GetExecutingAssembly();
> 
> Stream stm = asm.GetManifestResourceStream(<namespace> + "." + <file
> name>);
> 
> BinaryReader br = new BinaryReader(stm);
> 
> File.WriteAllBytes(<путь для сохранения dll>,
> br.ReadBytes((int)stm.Length));
> 
>

>
> — дальше через DllImport.
>

Не хотелось бы записывать куда-либо... хотелось бы из памяти...
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Хранение DLL в ресурсах
От: BigWolf Казахстан  
Дата: 20.10.09 09:49
Оценка:
Hello BluntBlind,

> Здравствуйте, BigWolf, Вы писали:

>
BW>> Доброго времени суток.
BW>> Возникла необходимость хранения unmanaged DLLки в ресурсах .Net
BW>> приложения и тягать из нее функции.
BW>> Намекните как это можно провернуть, и можно ли вообще???
> Добавь ее в проект, как existing item и в пропертях поставь Embeded.
> Смотри класс ResourceManager, он может тебе открыть этот файл как
> поток...
>

А если можно, немного поподробнее....
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.