Задача выполняется хорошо с Msbuild, но не в визуальной студии - PullRequest
0 голосов
/ 09 февраля 2011

Я получаю странное поведение в Visual Studio Vs при выполнении msbuild в командной строке.

решение (s1) содержит 3 проекта (p1, p2, pB).p1 и p2 - это «нормальный» проект VS, а pb - это файл xml msbuild, который я написал сам.Цель задачи, которую содержит pB, состоит в изменении некоторой части исходного кода.

Я настроил зависимости так, чтобы p1 и P2 зависели от pB, чтобы быть уверенным, что pB - первый проект, который будет выполнен.

При выполнении компиляции (нажатием клавиши F6) в Visual Studio файлы изменяются, но кажется, что p1 и p2 запускаются до этой модификации, поэтому мой результат не тот, который я потратил.Кроме того, когда я смотрю в консоли сборки, все кажется нормальным.

А когда A запускает компиляцию через "msBuild s1", все совершенствуется!

Как я могу вести себя так же в VS2010и msbuild?

Thx

Ответы [ 2 ]

0 голосов
/ 10 февраля 2011

Каждый раз, когда вы создаете решение VS , оно создает файл .sln.cache, который представляет собой файл csproj для каждого проекта, который есть в вашем решении.

Таким образом, изменение файлов csproj во время сборки не повлияет на текущую сборку (в которой используется файл .sln.cache).

0 голосов
/ 09 февраля 2011

Если вы зарегистрируете проект pB в BeforeBuild в обоих проектах p1 и p2, как

<Target Name="BeforeBuild">
    <MSBuild Projects="pB.proj" Properties="Configuration=$(Configuration)" />
</Target>

, вы можете вызвать MSBuild task и передать все необходимые параметры.Это решение будет работать в обеих средах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...