Портирование VS 2015 на VS 2017 MSB8020: инструменты сборки для v140: нерешенная проблема - PullRequest
0 голосов
/ 18 сентября 2018

Хорошо, ребята, у меня есть проблема. Я надеялся, что найду ответ на форумах, но, похоже, ни один из них не является именно тем, что мне нужно.

Совершенно новый компьютер, только что установил VS2017 (никогда не обновлялся с 2015 года на предыдущем компьютере, потому что я беспокоился о подобных проблемах).

Работал над этим программным обеспечением около года. Имеет 2 библиотеки, всего 3 файла проекта.

Теперь все решения для одного проекта строятся идеально (без проблем). Решение с 3 файлами проекта Решение выдает ошибку; MSB8020: инструменты сборки для v140. ТЕПЕРЬ Я не пытаюсь вернуться назад - поэтому ответы, такие как install v140 (найденные на предыдущих вопросах), исключены.

ИЗОЛЯЦИЯ ПРОБЛЕМЫ - Библиотека (A) не имеет зависимостей. Библиотека (B) зависит от библиотеки (A). Основной код (проект) использует оба. Когда я собираю библиотеку (A) - Нет ошибок - Когда я строю библиотеку (B) - появляется ошибка MSB9020.

Я проверил ссылки в файлах проекта v141 и проверен в свойствах проекта. ЭТО ВОЗМОЖНО - что-то в коде форсирует это - в коде нет ничего особенного (для целей отладки в будущем). Нет причудливых директив.

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

ЛЮБЫЕ ИДЕИ, которые у вас есть, были бы С благодарностью. Спасибо

1 Ответ

0 голосов
/ 18 сентября 2018

Ладно, ЛЮДИ - Я НАШЕЛ РАБОТУ. Это не ответ (потому что я считаю, что ответ означает знание причины проблемы и ее устранение). НО это заставит человека заработать, если он столкнется с этой проблемой.

Все остальные проекты "Решения" работали. Но у них был только 1 проект. У этого было 3 проекта. Сначала следуя самым простым идеям - я решил просто создать новое решение. Поэтому я создал новую папку, скопировал 3 папки Project внутри и создал пустое решение. Я добавил существующие проекты в решение, восстановил зависимости - и низкий, и вот, полная сборка прошла успешно (не без нескольких не связанных проблем, но это сработало).

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

GRIPE: Это глупо. У меня есть новые предупреждения - которых не было - и DLL пользовательских элементов управления ведет себя глупо, а это значит, что мне придется потратить несколько дней, чтобы узнать нюансы 2017 года по сравнению с 2015 годом. Microsoft говорит нам, как быть более эффективным - и иногда пренебрегаю этим сами при запуске новых версий. Всегда некоторая проблема с обратной совместимостью.

...