Как решить LNK1209 - PullRequest
       20

Как решить LNK1209

0 голосов
/ 04 февраля 2019

У нас есть локальный репозиторий git с несколькими проектами и решениями.Одним из решений является объединение всех других наших проектов, что облегчает разработчикам серьезные изменения в кодовой базе и выполнение всех модульных тестов.

У нас есть инкрементный регрессионный тест, который создает этот проект модульного теста и запускает модульные тесты локально.Однако, если решение для конкретного модуля в проекте построено вне проекта модульного теста, и проект модульного теста запускается, иногда возникает ошибка LNK1209: "LINK : fatal error LNK1209: program database '<file>' differs from previous link; relink or rebuild [<project>]".

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

При использовании Visual Studio 2017 (15.9.5), хотя в предыдущих версиях до обновления это поведение проявлялось.решить эту проблему, возможно, автоматически повторить попытку связывания?

1 Ответ

0 голосов
/ 04 февраля 2019

Не должно быть такой проблемы.Убедитесь, что разные конфигурации не записывают конечные и промежуточные файлы в одну и ту же папку.

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

...