сборка в виде byte()

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

сборка в виде byte()

Сообщение MIT » 23.11.2008 (Вс) 20:31

Мноогим программам приходится использовать большое количество сторонных DLL'ок, и поэтому возникает вопрос: как их упаковать в один файл? Можно переформулировать вопрос: как использовать сборку в виде массива байтов, т.е. как использовать функционал библиотеки несуществующей в виде файла?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: сборка в виде byte()

Сообщение Joo » 24.11.2008 (Пн) 8:09

MIT писал(а):Мноогим программам приходится использовать большое количество сторонных DLL'ок, и поэтому возникает вопрос: как их упаковать в один файл? Можно переформулировать вопрос: как использовать сборку в виде массива байтов, т.е. как использовать функционал библиотеки несуществующей в виде файла?


А зачем собственно?

Пакуй все dll в один файл, при запуске проги распаковывай во времепнный каталог,или еще куда небудь, и динамически подключай.
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: сборка в виде byte()

Сообщение Sebas » 24.11.2008 (Пн) 10:21

Assembly.Load
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: сборка в виде byte()

Сообщение MIT » 24.11.2008 (Пн) 18:36

Спасибо, щас попробуем...
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: сборка в виде byte()

Сообщение Williams » 25.11.2008 (Вт) 12:49

MIT писал(а):Спасибо, щас попробуем...

Ну как, получилось? Если что, можем помочь :)
И вы думаете, что вас оставят в живых после прочтения этого поста?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: сборка в виде byte()

Сообщение MIT » 26.11.2008 (Ср) 13:45

Ну, не совсем: возникает резонный вопрос "И чё дальше?". И правда, а дальше то что?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: сборка в виде byte()

Сообщение Viper » 26.11.2008 (Ср) 14:48

MIT писал(а):Ну, не совсем: возникает резонный вопрос "И чё дальше?". И правда, а дальше то что?
И действительно... На каком этапе застрял?
Весь мир матрица, а мы в нем потоки байтов!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: сборка в виде byte()

Сообщение MIT » 26.11.2008 (Ср) 14:54

Застрял сразу после загрузки. Как получить экземпляр класса например?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: сборка в виде byte()

Сообщение Williams » 26.11.2008 (Ср) 15:16

MIT писал(а):Застрял сразу после загрузки. Как получить экземпляр класса например?


Код: Выделить всё
Dim DynAssembly As [Assembly] = [Assembly].Load(Массив_байт)   
Dim DynType = DynAssembly.GetType("Полное_имя")
Dim obj As Object = Activator.CreateInstance(DynType)
И вы думаете, что вас оставят в живых после прочтения этого поста?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: сборка в виде byte()

Сообщение MIT » 26.11.2008 (Ср) 15:40

Спасибо, теперь понятно. А как правильно освободить память при завершении приложения (или ничего не надо делать, все будет сделано автоматически)?

P.S. Извиняюсь, за, может быть, глупый вопрос, но чем отличается [Assembly] от Assembly?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: сборка в виде byte()

Сообщение Viper » 27.11.2008 (Чт) 8:34

MIT писал(а):P.S. Извиняюсь, за, может быть, глупый вопрос, но чем отличается [Assembly] от Assembly?
Синтаксически ничем, просто на бесскобочный вариант будет ругацца.
Весь мир матрица, а мы в нем потоки байтов!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: сборка в виде byte()

Сообщение Williams » 28.11.2008 (Пт) 20:07

В квадратные скобки берутся зарезервированные ключевые слова используемые не по назначению.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: сборка в виде byte()

Сообщение Sebas » 29.11.2008 (Сб) 9:05

MIT писал(а):Спасибо, теперь понятно. А как правильно освободить память при завершении приложения (или ничего не надо делать, все будет сделано автоматически)?
[/color] от Assembly?[/size]


Ничего не надо.
Если нужно "отпустить"(выгрузить) сборку, то это можно сделать только выгрузив текущий домен приложения из которого была подгружена сборка.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: сборка в виде byte()

Сообщение MIT » 13.12.2008 (Сб) 12:54

А как можно создать экземпляр класса с параметрами?
Например есть такой класс

Код: Выделить всё
Public Class PubCl
  Public Sub New (Param as string)
     msgbox (param)
  end sub
  ...
End Class


На
Dim obj As Object = Activator.CreateInstance(DynType, Param)
студия почему-то ругается на Exception has been thrown by the target of an invocation.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

    TopList