Компиляция VB6 из командной строки

кто-нибудь знает, как скомпилировать dll VB6 webclass из командной строки? Я пытаюсь создать инструмент для автоматизации построения версий, но он терпит неудачу с "ошибкой компиляции в файле" [имя файла]", строка xxxx : переменная не определена " отображается предупреждение.

3 ответов


известная ошибка:

симптомы

при использовании аргументов командной строки для компиляции проекта Microsoft Visual Basic, содержащего конструкторы WebClass, могут возникнуть ошибки.

причина

при использовании аргумента командной строки / MAKE для компиляции приложения, Если связано .DCA файлы для дизайнеров (.DSR) не находятся в том же каталоге, что и.DSR файлы, вы можете столкнуться с ошибками во время скомпилировать. Этот.Файлы DCA содержат сведения о библиотеке типов, необходимые для компиляции проекта.

разрешение

используйте один из следующих обходных путей для компиляции проекта без ошибок:

  • откройте проект в Visual Basic и внесите изменения в проект. Любые изменения, такие как ввод пространства, а затем удаление пространства в проекте, будут достаточными. Закрыть Visual Basic и сохраните изменения. Это перестраивает .Файлы DCA для применения в том же каталоге, где .Расположенные файлы DSR являются.
  • скомпилируйте приложение внутри интегрированной среды разработки Visual Basic (IDE). Это также перестраивает .DCA файлы для приложения.

статус

Корпорация Майкрософт подтвердила, что это ошибка в продуктах корпорации Майкрософт, перечисленных в начале этой статьи...


похоже, вам нужно CTRL-F5 и посмотреть, что такое ошибка компиляции, VB6 позволит вам работать в отладке, пока есть еще ошибки, которые не пройдут мимо компилятора, вероятно, есть что-то, что нужно решить. Вот пример компиляции из командной строки из файла bat.

set vssdir=c:\_vss\
VB6 /MAKE "%vssdir%Project.vbp" /outdir "%vssdir%testbuild"

создает ли код в отладчике?
Проверьте справку, доступную для коммутаторов, запустив " vb6.exe/?" Что-то вроде:

path_to_vb6_exe /l path_to_my_project_name

должны работать. Я думаю /l не /m, так как это dll webclass, поэтому будет activeX. Всякий раз, когда у меня были ошибки, подобные той, которую вы описываете, сообщенные из VB6, запускаемые из командной строки, это было потому, что код не строился.

однако у него есть несколько пунктиков, при запуске из командной строки. Я обнаружил, что если бы у меня были пользовательские вкладки для пользовательских элементов управления, настроенных в среде IDE, компиляция из командной строки всегда завершается ошибкой.