У меня проблема при использовании механизма сборки TeamCity для автоматизации.Мне нужно собрать много vcxprojects, некоторые из них - LIB или DLL, а остальные - файлы EXE, использующие ранее созданные LIB.
Пример настройки одного проекта LIB в TeamCity:
<runner id="RUNNER_15" name="MP3" type="MSBuild">
<parameters>
<param name="build-file-path" value="Audio\mp3\mp3.vcxproj" />
<param name="dotNetCoverage.NCover.HTMLReport.File.Sort" value="0" />
<param name="dotNetCoverage.NCover.HTMLReport.File.Type" value="1" />
<param name="dotNetCoverage.NCover.Reg" value="selected" />
<param name="dotNetCoverage.NCover.platformBitness" value="x86" />
<param name="dotNetCoverage.NCover.platformVersion" value="v2.0" />
<param name="dotNetCoverage.NCover3.Reg" value="selected" />
<param name="dotNetCoverage.NCover3.args" value="//ias .*" />
<param name="dotNetCoverage.NCover3.platformBitness" value="x86" />
<param name="dotNetCoverage.NCover3.platformVersion" value="v2.0" />
<param name="dotNetCoverage.NCover3.reporter.executable.args" value="//or FullCoverageReport:Html:{teamcity.report.path}" />
<param name="dotNetCoverage.PartCover.Reg" value="selected" />
<param name="dotNetCoverage.PartCover.includes" value="[*]*" />
<param name="dotNetCoverage.PartCover.platformBitness" value="x86" />
<param name="dotNetCoverage.PartCover.platformVersion" value="v2.0" />
<param name="msbuild_version" value="4.0" />
<param name="run-platform" value="x86" />
<param name="toolsVersion" value="4.0" />
</parameters>
</runner>
В случае DLL настройка компоновщика в файле vcxproj гласит:. \ Release \ $ (ProjectName) .dll В случае LIB такой настройки нет вообще.
Когда я собираю ее с помощью командной строки VS2010,вывод . \ Release \ mp3.dll или . \ Release \ mp3.lib .
Но когда я использую TC, я получу вывод . \ Release \ mp3.vcxproj.dll или . \ Release \ mp3.vcxproj.lib
Почему?Как избежать этого странного поведения?(Я не хочу заменять строку в файле vcxproj, например. \ Release \ mp3.dll, это проблема многих проектов, и я бы хотел избежать этого примитивного решения, а в случае проектов LIB такой возможности нет вообще)
Спасибо за любой ответ.