Почему один из GUID моего проекта изменяется при сборке проекта в VS 2005? - PullRequest
5 голосов
/ 26 января 2009

Для двух моих проектов VS 2005 C ++ VS хочет записать в файл .sln при сборке проектов. У меня есть ряд других проектов VS 2005 C ++, где это не так. Это проблема из-за того, что у нас интегрирован контроль исходных кодов ClearCase с нашими установками VS 2005, и когда мы пытаемся запустить ночную сборку с помощью пакетных файлов, сборка приостанавливается в виде диалогового окна извлечения ClearCase.

Глядя на то, что VS изменяется в файлах .sln, это второй GUID в строке проекта.

До строительства:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InterCommClientB", "InterCommClientB.vcproj", "{A2AF232A-7F27-4340-81D5-8ABFD10994D2}"

После постройки:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InterCommClientB", "InterCommClientB.vcproj", "{67BE85B7-3234-484E-88FB-4F0E42096583}"

Любая помощь с благодарностью получена. Я новичок в VS 2005, так как мы только что перешли с VC ++ 6.0, поэтому извиняюсь за то, что упустил что-то очевидное.

Мы работаем с VS 2005 Professional Edition с установленным пакетом обновления 1 (SP1).

С уважением,

Greg.

Ответы [ 3 ]

3 голосов
/ 11 августа 2011

У меня была похожая проблема. Кажется, что при преобразовании проектов из старых версий VS (например, 6 или 2003) VS 2010 не добавляет GUID проекта в файл .vcxproj. Из-за этого, когда вы открываете решение, включающее такой проект, VS пересоздает GUID для такого проекта и изменит файл .sln, но не изменит файл .vcxproj. Поэтому в другой раз, когда вы откроете такое решение, ситуация будет такой же, и файл .sln может снова измениться.

Смотрите это: http://connect.microsoft.com/VisualStudio/feedback/details/586258/missing-projectguid-in-vcxproj-files

1 голос
/ 26 января 2009

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

Моим лучшим решением для решения этой проблемы будет ручное построение решения и последующая проверка изменений. Таким образом, файл sln не изменится при сборке.

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

0 голосов
/ 02 февраля 2009

Это может быть полностью там, но иногда Visual Studio не может зарегистрировать файл решения, когда он был изменен и когда решение открыто в Visual Studio. Попробуйте закрыть Visual Studio и только затем зафиксировать файл решения.

Если это не так, то может быть какое-то другое учреждение, которое заставляет файл Решения изменить GUID, который он использует. В одном случае я использовал инструменты .NET от National Instruments, и у них есть схема лицензирования, которая будет запускать такого рода действия (модификация посторонних файлов по неоправданной причине) всякий раз, когда я собираюсь выполнить перестройку.

Пожалуйста, внимательно посмотрите на вывод сборки (в журнале или в окне вывода) - там вы можете найти некоторые дополнительные подсказки!

...