Указание целевой платформы с CruiseControl.NET - PullRequest
5 голосов
/ 30 июня 2010

Я нахожусь в процессе настройки моего самого первого автоматизированного сервера сборки ... Пока что все прошло довольно гладко, CruiseControl.NET правильно проверяет все необходимые файлы из VisualSVN и создает решение ... Однако этовот где я сталкиваюсь с проблемой ...

Основная причина установки сервера сборки в первую очередь заключается в том, что мне нужно ориентироваться как на x86, так и на x64 с моими проектами / установочными файлами.Я не могу найти способ сделать это.Это мой файл конфигурации (соответствующий бит):

    <tasks>
        <devenv>
          <solutionfile>ProjectName.sln</solutionfile>
          <configuration>Release</configuration>
          <buildtype>Rebuild</buildtype>
          <project>ProjectName</project>
          <executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com</executable>
          <buildTimeoutSeconds>600</buildTimeoutSeconds>
          <version>VS2010</version>
        </devenv>
    </tasks>

Это работает правильно, однако я хочу, чтобы CruiseControl.NET создавал его два раза, один раз для целевой платформы x86 и один раз для x64.Как я могу это сделать?

Я подозреваю, что мне нужно добавить дополнительный параметр в блок конфигурации, но, похоже, ничего не работает, и я (как ни странно) не смог найти пример с этой функцией ...

Спасибо за вашу помощь ...

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Смотрите ответ здесь: Как указать платформу в devenv build CruiseControl.net

<devenv>
    <configuration>Debug|x86</configuration>
</devenv>
1 голос
/ 07 июля 2010

Вместо этого вы можете попробовать использовать задачу msbuild, которая позволит вам делать то, что вы хотите делать ... просто передавайте ей соответствующие параметры.Сначала вам нужно будет настроить конфигурации в вашем файле проекта, как указано здесь .Затем вы можете добавить несколько целей msbuild (по одной для каждой конфигурации, которую вы хотите построить), которая будет похожа на эту:

<msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
    <workingDirectory>C:\svn\TRUNK\Project</workingDirectory>
    <projectFile>Solution.sln</projectFile>
    <buildArgs>/noconsolelogger /t:Rebuild /p:Configuration=Release</buildArgs>
    <timeout>900</timeout>
    <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
  </msbuild>

Я полагаю, вы можете сделать что-то подобное, используя devenv, ноя не уверен.

...