Когда мы создаем наш проект базы данных Visual Studio 2010 из командной строки, используя msbuild.exe, он иногда может запускаться дважды из одной и той же командной строки.
Мы вызываем msbuild из сценария nAnt и просто вызываем 'Построить цель.Наш проект базы данных довольно большой, поэтому для его выполнения может потребоваться около 4 минут.Когда он проходит дважды, сборка базы данных занимает более 8 минут.
Вот раздел exec, который мы используем для вызова сборки.Он работает с файлом .sln, в котором есть только один файл .dbproj.
<exec program="${framework::get-tool-path('msbuild.exe')}" append="true" failonerror="true" verbose="true">
<arg value="${database.sln}" />
<arg value="/p:OutputPath=${build.output.database}" />
<arg value="/nologo" />
<arg value="/t:Build" />
<arg value="/p:Configuration=Release" />
<arg value="/p:WorkingDir="."" />
<arg value="/verbosity:normal" />
<arg value="/v:m" />
</exec>
Получаемый нами результат выглядит так:
Creating a model to represent the project...
Loading project references...
Loading project files...
Building the project model and resolving object interdependencies...
Validating the project model...
(x) problems have been detected.
[a list of warnings based on the db analysis]
The results are saved in (y).
Creating a model to represent the project...
Loading project references...
Loading project files...
Building the project model and resolving object interdependencies...
Validating the project model...
(x) problems have been detected.
[a list of warnings based on the db analysis]
The results are saved in (y).
Может кто-нибудь помочь с объяснением причины цели?быть вызванным дважды (только иногда - я не понял почему только иногда).Сценарий всегда выполняется в пустой структуре папок, поэтому после предыдущего запуска сборки никогда не остается вывод сборки.