У меня есть некоторые проблемы с использованием MSBUILD в командной строке по сравнению с CruiseControl.NET, так как результаты отличаются, и я не могу понять, почему это будет.
При вызове MSBUILD В командной строке на моемНа локальной машине создается проект, а выходной каталог содержит набор DLL-файлов и файлов PDB, а также подкаталог _PublishedWebsites, который содержит два веб-приложения в моем решении (приложение ASP.NET MVC и веб-сервис WCF).
Пока все хорошо.
На сервере CI эта папка не создается.
Это один и тот же файл проекта msbuild, который используется для обоих, поэтому я не вижу, чтоРазница может быть.После нескольких часов поиска в Google я теперь в полной растерянности.
Я предполагаю, что на моей локальной машине в среде есть что-то, что устанавливает где-то значение по умолчанию, которого нет на сервере CI.
Есть ли какая-то конкретная опция, которую я должен установить где-нибудь для явного объяснения, чтобы MSBUILD создал папку, содержащую опубликованные веб-приложения?
ОБНОВЛЕНИЕ CCNET.config (частичный)
<cruisecontrol>
<!-- Other projects here -->
<project name="My-Project Nightly Build">
<workingDirectory>C:\CruiseControl\My-Project-Nightly</workingDirectory>
<artifactDirectory>C:\CruiseControlArtifacts\My-Project-Nightly</artifactDirectory>
<sourcecontrol type="multi">
<sourceControls>
<vsts>
<executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe</executable>
<project>$/Brand Web/</project>
<autoGetSource>true</autoGetSource>
<applyLabel>true</applyLabel>
<cleanCopy>true</cleanCopy>
<deleteWorkspace>true</deleteWorkspace>
<server>http://company-tfs:8080/tfs/Projects</server>
<workingDirectory>C:\CruiseControl\My-Project-Nightly\Brand Web\</workingDirectory>
<workspace>Brand-Nightly</workspace>
</vsts>
<vsts>
<executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe</executable>
<project>$/Brand/Main</project>
<autoGetSource>true</autoGetSource>
<applyLabel>true</applyLabel>
<cleanCopy>false</cleanCopy>
<server>http://company-tfs:8080/tfs/Projects</server>
<workingDirectory>C:\CruiseControl\My-Project-Nightly\Brand\Main</workingDirectory>
<workspace>Brand-Nightly</workspace>
</vsts>
<vsts>
<executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe</executable>
<project>$/Generic</project>
<autoGetSource>true</autoGetSource>
<applyLabel>true</applyLabel>
<cleanCopy>false</cleanCopy>
<server>http://company-tfs:8080/tfs/Projects</server>
<workingDirectory>C:\CruiseControl\My-Project-Nightly\Generic</workingDirectory>
<workspace>Brand-Nightly</workspace>
</vsts>
<vsts>
<project>$/ComponentA</project>
<executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe</executable>
<autoGetSource>true</autoGetSource>
<applyLabel>true</applyLabel>
<cleanCopy>false</cleanCopy>
<server>http://company-tfs:8080/tfs/Projects</server>
<workingDirectory>C:\CruiseControl\My-Project-Nightly\ComponentA</workingDirectory>
<workspace>Brand-Nightly</workspace>
</vsts>
<vsts>
<project>$/Third Party Libraries</project>
<executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe</executable>
<autoGetSource>true</autoGetSource>
<applyLabel>true</applyLabel>
<cleanCopy>false</cleanCopy>
<server>http://company-tfs:8080/tfs/Projects</server>
<workingDirectory>C:\CruiseControl\My-Project-Nightly\Third Party Libraries</workingDirectory>
<workspace>Brand-Nightly</workspace>
</vsts>
</sourceControls>
</sourcecontrol>
<labeller type="defaultlabeller">
<prefix>Brand-</prefix>
</labeller>
<triggers>
<scheduleTrigger time="02:15" buildCondition="ForceBuild" name="BrandNightlyBuild">
</scheduleTrigger>
</triggers>
<tasks>
<msbuild>
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<projectFile>C:\CruiseControl\My-Project-Nightly\Brand Web\Main\Build\Nightly.build</projectFile>
<buildArgs>/p:Configuration=Debug /p:Platform=x86 /p:TargetFramework=4.0 /p:OutputPath=C:\CruiseControl\My-Project-Nightly\output\</buildArgs>
<timeout >360000</timeout>
</msbuild>
</tasks>
</project>
</cruisecontrol>