Для меня, получить .NET 4.0 и круиз-контроль .NET собирается пришел к этому:
1) Избегайте 64 бит MSBuild, как чумы ... иметь рабочую 32 битную сборку первого ,
2) Просто укажите полный путь к регистратору, а не типичный класс, формат сборки.
3) Разверните пакет таргетинга с диска VS 2010. \ WCU \ MTPack \ NetFx_DTP.msi EXTUI = 1/log install.log
4) Всегда сначала доказывайте работу MSBuild из командной строки.
5) Создайте конфигурацию в файл решения и включают в себя только те проекты, которые вы хотите построить
<msbuild>
<!-- WARNING: You must copy the files from C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications to the same path on your build server -->
<executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\builds\SOLUTIONFOLDER\trunk\</workingDirectory>
<projectFile>C:\builds\SOLUTIONFOLDER\trunk\SOLUTIONNAME.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=CruiseControl /v:diag</buildArgs>
<targets>Build</targets>
<timeout>15</timeout>
<logger>C:\CruiseControl\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
Теперь, если Microsoft будет только позволит нам легко установить MSTest на наших серверах сборки ... Люди были попрошайничество в течение 5 лет, как Microsoft настолько мало узнала о тестировании?
Удачи всем.
+1 для точки зрения MSTest. Мы должны были установить VS на нашем сервере сборки, и это просто глупо. Полагаю, это потому, что они хотят, чтобы мы использовали сервер сборки TFS, но он настолько незрелый, что CCNet намного лучший выбор. – John