Как мне вызвать метод Visual Basic 6.0 в C #? - PullRequest
5 голосов
/ 30 ноября 2010

Я хотел бы вызвать метод, который написан на Visual Basic 6.0 из C # (Visual Studio 2008). Является ли это возможным? Как бы я это сделал?

Ответы [ 5 ]

11 голосов
/ 25 декабря 2010

Самый простой способ сделать это - просто скомпилировать код VB6 в виде ActiveX DLL.Затем вы можете ссылаться на DLL в вашем .net проекте.(Visual studio может правильно ссылаться на библиотеки ActiveX.)

6 голосов
/ 30 декабря 2010
  1. Скомпилируйте вашу VB6 DLL как activex dll

  2. Зарегистрируйте его, используя -> regsvr32 "Полное имя и путь к вновь скомпилированной vb6 dll" (используйте для запуска диалог или командную строку)

  3. In .net Add refrence - выберите вкладку com и найдите эту недавно зарегистрированную dll

  4. Теперь вы можете использовать эту DLL.

Примечание:

Всякий раз, когда вы делаете какие-либо изменения в коде vb6, вы должны повторять вышеуказанные шаги снова.

Чтобы отменить регистрацию vb6 dll, используйте regsvr32 «Имя и путь» / u

добро пожаловать в (dll) ад

2 голосов
/ 30 декабря 2010

.NET может использовать вашу VB6 DLL как любую COM DLL.

Просто нажмите «Добавить ссылку», затем выберите вкладку «COM», если ваша DLL уже зарегистрирована, или просто нажмите «Обзор»Вкладка для непосредственного выбора файла.

Если COM-совместимый, Visual Studio автоматически создаст сборку COM-взаимодействия, которая будет действовать как оболочка .NET для вашей библиотеки VB6.

развернуть вашу библиотеку VB6 и сборку Interop с вашей программой.

2 голосов
/ 25 декабря 2010

Это возможно, если и только если код VB6 скомпилирован как COM-сервер.

2 голосов
/ 30 ноября 2010

Да. Это возможно. Вы вызываете это так же, как вы вызываете метод, который был написан в Visual Basic. Вам нужна ссылка на сборку, а затем вы просто вызываете ее с правильным пространством имен.

...