Создание DLL и бинарная совместимость

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

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

Ефрейтор
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 11.02.2005 (Пт) 12:43
Откуда: Алтай

Создание DLL и бинарная совместимость

Сообщение Ефрейтор » 12.03.2006 (Вс) 19:46

Здраствуйте люди добрые.
Пара не больших вопросов.
В VB6 была такая команда: make dll
Какое то у меня подозрение, что при запуске програмного кода VB.NET каждый раз производит перекомпиляцию в dll и сохраняет этот файл тут же не далеко от элементов текущего проекта VB.NET (классы, формы и т.д.) Поэтому как я понимаю команды: make dll не существует?
И ещё... Раньше в VB6 каждый раз при создании dll, dll получала новый CLSID. Что бы CLSID оставался постоянным нужно было поставть в опциях проекта бинарную совместимость (binary compatibility), я прочтитал что в VB.NET бинарной совместимости не сущеcтвует. Где же тогда настраивается номер CLSID?

Будьте так добры просветите, а то что то уже от чтения MSDN мозги припухли.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 12.03.2006 (Вс) 20:08

Поэтому как я понимаю команды: make dll не существует
Так же как и команды make exe. Существует команда build all.
Где же тогда настраивается номер CLSID
Если это не COM-библиотека, его нет. Вроде так. Галочку по поводу совместимости выставлять не надо.
Если тебе оченнь интересен весь механизм, купи книгу Апплмана, там очень хорошо описано, в чем отличие .NET dll от COM dll.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

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

Сообщение Sebas » 13.03.2006 (Пн) 1:16

если тебя интересует COM, то достаточно указать GUID для сборки и для класс(для класса 3 атрибута, добавь ком класс и увидишь)

для NET совместимости нужно указать аттрибут BindingRedirect(Гм, вот тут точное написание не помню) в котором указываешь с какими версиям совместима сборка
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Ефрейтор
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 11.02.2005 (Пт) 12:43
Откуда: Алтай

Сообщение Ефрейтор » 13.03.2006 (Пн) 5:37

Мда...как всё изменилось со времён VB6....
вся трабла в том что CLSID мне нужен чтобы написать дополнительный reg-файл в довесок к моей dll... что ж поищем COM и GUID

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

Сообщение Sebas » 13.03.2006 (Пн) 11:18

Код: Выделить всё
<ComClass(ContentFilterSink.ClassId, ContentFilterSink.InterfaceId, ContentFilterSink.EventsId)> _
<System.Runtime.InteropServices.ProgId("ComNameDll.ComNameClass")> _
_
Public Class MyClass

    Public Const ClassId As String = "d76c463b-8824-4f44-b646-eb9a21cca050"
    Public Const InterfaceId As String = "35b2e953-3eac-45cf-ba44-0eb692a0d336"
    Public Const EventsId As String = "3bb3b4f6-14b1-4d49-b2bd-457962a36fe3"

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

sebas<-@->mail.ru

Ефрейтор
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 11.02.2005 (Пт) 12:43
Откуда: Алтай

Сообщение Ефрейтор » 13.03.2006 (Пн) 16:20

Sebas
Куда ж это всё вставлять то :shock: ?
Блин, люди добрые, я понимаю что вы здесь все продвинутые, почитаю ка лутше книжки благо качнул парочку по ссылки на ftp на этом форуме.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 13.03.2006 (Пн) 20:00

для NET совместимости нужно указать аттрибут BindingRedirect
А что, без этого атрибута, совместимости не будет?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


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

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

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

    TopList