Файлы проекта Vb6 и исходный код - PullRequest
0 голосов
/ 05 марта 2010

Часть приложения, над которым я работаю, является устаревшим приложением Vb6 для форм Windows. Все файлы в проекте находятся под контролем исходного кода (VSS), кроме файла проекта Vb6. Из того, что я могу установить из других разработчиков, работающих над проектом, причина этого заключается в том, что компоненты com, используемые в проектах, имеют разные ссылки на каждом компьютере разработчика. Я хочу переместить файлы проекта в VSS, чтобы при добавлении файлов в проект они могли обновляться в файлах проекта, а другие разработчики (и, что более важно, сценарий автоматической сборки) могли получать последние файлы проекта из исходного кода.

Кто-нибудь знает, если / как я могу добиться этого таким образом, чтобы не испортить ссылки на другие ком-компоненты на разных машинах разработки?

Ответы [ 3 ]

2 голосов
/ 05 марта 2010

Я не согласен с вашими коллегами. Если каждому разработчику требуются разные ссылки на свои машины, я готов поспорить, что у вас происходит странное использование типов COM. Скорее всего, у вас есть типы CoClass и типы интерфейса, скомпилированные в ваши библиотеки.

COM - это разделение интерфейса от реализации (хотя VB6 и делает, лучше всего отменить это, создав интерфейсы по умолчанию для каждого CoClass и не сообщая вам о них). Переместите ваши типы в библиотеку типов TLB и ссылайтесь на них в своих проектах. Пусть регистрация COM на каждой машине обрабатывает, какие конкретные классы создаются; вот для чего это.

Если ваша команда борется с ссылками на COM, значит, что-то более глубокое неверно.

0 голосов
/ 05 марта 2010

Вам необходимо поддерживать стандарт, который описывает структуру папок ваших проектов разработки.Например, я всегда рекомендую создать диск-заменитель SUBST.Например, SUBST H: C: \ DEV_ \ APP \ Visual Studio 2008. Это позволяет разработчику размещать свои материалы там, где ему нужно.На этом «новом» диске я рекомендую «системную» папку.Каждый COM-объект и зависимости помещаются в подпапку.Все проекты ссылаются на COM-объекты только из H: / System /.Различные версии COM входят в новую с версией как часть имени папки.Например, C: \ DEV_ \ APP \ DEV \ SYSTEM \ Iocomp и C: \ DEV_ \ APP \ DEV \ SYSTEM \ Iocomp2.

(не забудьте зарегистрировать объекты COM по правильному пути,«новый» диск.)

Я использую командный файл при запуске, чтобы установить четыре разных диска разработки.

Приятная вещь при использовании SUBST - вы можете извлекать документы в другую папку.затем создайте в этой папке диск "H", и все заработает.

Я использую эту технику с 1996 года, и это очень хорошо.У меня никогда не было проблем.Самое сложное - познакомить других с техникой.

0 голосов
/ 05 марта 2010

Короче говоря, нет.

Проблема real заключается в том, что разработчики не получают свои COM-компоненты из одного места, либо потому, что они компилируют их локально, либо получают разные версии одного и того же компонента. Если COM-объекты не находятся в постоянной разработке, реальное решение состоит в том, чтобы все разработчики установили одну и ту же версию необходимых им компонентов.

...