Почему для обеспечения работоспособности необходимо установить для параметра «Совместимость версий» значение «Нет совместимости из двоичной совместимости», а затем вернуться к «Совместимости двоичной версии»? - PullRequest
0 голосов
/ 13 апреля 2010

Мой проект изначально был настроен на двоичную совместимость, но он не создавался. Поэтому я сначала установил для него «Нет совместимости», он прекрасно сработал. Затем я установил его обратно на двоичную совместимость и переписал поверх ранее сгенерированного файла, он работал нормально.

Почему это должно происходить?

Ответы [ 2 ]

3 голосов
/ 13 апреля 2010

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

При изменении любого открытого com-интерфейса в коде двоичная совместимость может быть нарушена (вы можете обойтись без расширенных интерфейсов, но не изменив существующие / типы), что помешало сборке.

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

Затем вы изменили его обратно на бинарный, и именно здесь / почему я думаю, что вы указываете бинарную версию компатации на сам сборочный exe-файл, а не на отдельную копию - так что исполняемый файл автоматически был совместим с самим собой и позволял его строить.

0 голосов
/ 13 апреля 2010

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

...