VS 2017 каждый раз перекомпилирует все файлы - PullRequest
2 голосов
/ 26 марта 2019

Visual Studio перестраивает весь проект каждый раз, когда я нажимаю Build> Build Solution (F7) .Даже когда код не изменен.

Это происходит во всех проектах, и я могу воспроизвести «ошибку» с пустым проектом.Очевидно, это как-то связано с файлами журналов отслеживания .Вот что вы можете найти в выводе журнала сборки Diagnostic :

pch.cpp will be compiled because it was not found in the tracking log. (TaskId:22)

Позвольте мне показать вам полный пример моей проблемы.

Сначала я создаюпустой проект.enter image description here Мои Настройки сборки и запуска следующие.enter image description here В первый раз, когда я строю, я получаю следующее:

1>------ Build started: Project: SimpleTrackingLogTest, Configuration: Debug Win32 ------
1>pch.cpp
1>SimpleTrackingLogTest.cpp
1>SimpleTrackingLogTest.vcxproj -> C:\kmasson\lab\SimpleTrackingLogTest\Debug\SimpleTrackingLogTest.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

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

В полном журнале, расположенном по адресу Debug\SolutionName.log, вы можете узнать, почему все файлы были перекомпилированы с помощью поиска «будет скомпилировано» с помощью Ctrl + F.Для каждого исходного файла имеется одна строка.

Read Tracking Logs: (TaskId:22)
 Debug\SimpleTr.7CB9D8E0.tlog\CL.read.1.tlog (TaskId:22)
 Outputs for ...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\PCH.CPP: (TaskId:22)
      ...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\DEBUG\PCH.OBJ (TaskId:22)
      ...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\DEBUG\SIMPLETRACKINGLOGTEST.PCH (TaskId:22)
 pch.cpp will be compiled because it was not found in the tracking log. (TaskId:22)

И CL.read.1.tlog содержит много строк, указывающих на Program Files (x86) и Windows , но также 2 следующие строки (^ действительно находится в файле):

^C:\...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\PCH.CPP
... Some .DLL
^C:\...\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST\SIMPLETRACKINGLOGTEST.CPP
... Many .DLL,.NDS, .H..

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

Я искал в Интернете информацию об отслеживании файлов журналов, но информации о них очень мало.Я попытался полностью переустановить Visual Studio, отключив Защитник Windows и удалив каталог локального пользователя Temp .

Если вам нужна какая-либо информация о моей настройке, пожалуйста, спросите.

1 Ответ

0 голосов
/ 27 марта 2019

Я нашел способ заставить его работать. Это как-то связано с расположением проекта. Он работает на C:\Users\kmasson, но не на C:\kmasson. Хотя у меня есть права на чтение / запись, и я даже пытался запустить VS от имени администратора. Я не понимаю, почему это не сработало, но теперь проблема устранена.

...