#.net #vb6 #asp-classic #vb6-migration
#.net #vb6 #asp-classic #vb6-миграция
Вопрос:
У меня есть проект VB6. Мой вопрос в том, могу ли я вызвать .NET .dll, который содержит все бизнес-правила проекта (из приложения VB6)?
В принципе, у меня есть проект VB6 с классическим проектом ASP, вызывающим vb6 / ActiveX .dll. Требование состоит в том, чтобы выяснить наилучший способ обновления приложения. Итак, если я обновлю ActiveX .dll, может ли приложение VB6 вызвать этот новый .NET .dll?
Я предполагаю, что тот же вопрос применим и к классическому проекту ASP…
Спасибо!
Ответ №1:
Да, но вам нужно создать .Сетевые типы Com видны. Также смотрите комментарий Мэтта ниже относительно индексов и строк массива. Тот факт, что это возможно, не делает это хорошей идеей…
Комментарии:
1. Похоже, в данном случае это может быть хорошей идеей. Начните с обновления бизнес-логики в новой .NET dll. Затем обновите другую часть и т.д., Пока не перепишете графический интерфейс.
2. Должен согласиться. Если проект не просто действительно большой, вероятно, потребуется больше работы для создания вызываемой Vb6 .net lib, чем для переноса вещей на .net и продвижения вперед. Перенос peicemeal всегда звучит великолепно, но обычно оно того не стоит, если размер проекта не достаточно велик.
3. 1 — Следует иметь в виду некоторые другие соображения. Как массивы на основе 1 в VB6 по сравнению с массивами на основе 0 в .NET. Строка фиксированной длины не полностью поддерживается в .NET, и типы данных имеют разные размеры для одного и того же типа (VB6 Long = .NET Int32)
4. но что, если вы переносите dll и хотите сохранить клиентское приложение нетронутым (без перекомпиляции)?
5. Возможно, это может помочь перевести членов классаизСЕТИвVisual Basic-6