Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 107285
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T01:43:48+00:00 2026-05-11T01:43:48+00:00

I have CruiseControl.NET Version 1.4 set up on my development server. Whenever a developer

  • 0

I have CruiseControl.NET Version 1.4 set up on my development server. Whenever a developer checks in code, it makes a compile.

Now we’re at a place where we can start giving our application to the testers. We’d like to use ClickOnce to distribute the application, with the idea being that when a tester goes to test the application, they have the latest build.

I can’t find a way to make that happen with CruiseControl.NET. We’re using MSBUILD to perform the builds.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T01:43:48+00:00Added an answer on May 11, 2026 at 1:43 am

    Thanks for all the help. The final solution we implemented took a bit from every answer.

    We found it easier to handle working with multiple environments using simple batch files. I’m not suggesting this is the best way to do this, but for our given scenario and requirements, this worked well. Supplement ‘Project’ with your project name and ‘Environment’ with your environment name (dev, test, stage, production, whatever).

    Here is the tasks area of our ‘ccnet.config’ file.

    <!-- override settings  --> <exec>     <executable>F:\Source\Project\Environment\CruiseControl\CopySettings.bat</executable> </exec>  <!-- compile --> <msbuild>     <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>     <workingDirectory>F:\Source\Project\Environment\</workingDirectory>     <projectFile>Project.sln</projectFile>     <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>     <targets>Rebuild</targets>     <timeout>0</timeout>     <logger>ThoughtWorks.CruiseControl.MsBuild.XmlLogger,ThoughtWorks.CruiseControl.MsBuild.dll</logger> </msbuild>  <!-- clickonce publish  --> <exec>     <executable>F:\Source\Project\Environment\CruiseControl\Publish.bat</executable> </exec> 

    The first thing you will notice is that CopySettings.bat runs. This copies specific settings for the environment, such as database connections.

    Next, the standard MSBUILD task runs. Any compile errors are caught here and handled as normal.

    The last thing to execute is Publish.bat. This actually performs a MSBUILD ‘rebuild’ again from command line, and parameters from CruiseControl are automatically passed in and built. Next, MSBUILD is called for the ‘publish’ target. The exact same parameters are given to the publish as the rebuild was issued. This keeps the build numbers in sync. Also, our executables are named differently (i.e. – ProjectDev and ProjectTest). We end up with different version numbers and names, and this allows ClickOnce to do its thing.

    The last part of Publish.bat copies the actual files to their new homes. We don’t use the publish.htm as all our users are on the network, we just give them a shortcut to the manifest file on their desktop and they can click and always be running the correct executable with a version number that ties out in CruiseControl.

    Here is CopySettings.bat

    XCOPY 'F:\Source\Project\Environment\CruiseControl\Project\app.config' 'F:\Source\Project\Environment\Project' /Y /I /R XCOPY 'F:\Source\Project\Environment\CruiseControl\Project\My Project\Settings.Designer.vb' 'F:\Source\Project\Environment\Project\My Project' /Y /I /R XCOPY 'F:\Source\Project\Environment\CruiseControl\Project\My Project\Settings.settings' 'F:\Source\Project\Environment\Project\My Project' /Y /I /R 

    And lastly, here is Publish.bat

    C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe /target:rebuild 'F:\Source\Project\Environment\Project\Project.vbproj' /property:ApplicationRevision=%CCNetLabel% /property:AssemblyName='ProjectEnvironment' /property:PublishUrl='\\Server\bin\Project\Environment\\' C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe /target:publish 'F:\Source\Project\Environment\Project\Project.vbproj' /property:ApplicationVersion='1.0.0.%CCNetLabel%' /property:AssemblyVersion='1.0.0.%CCNetLabel%' /property:AssemblyName='ProjectEnvironment'   XCOPY 'F:\Source\Project\Environment\Project\bin\Debug\app.publish' 'F:\Binary\Project\Environment' /Y /I XCOPY 'F:\Source\Project\Environment\Project\bin\Debug\app.publish\Application Files' 'F:\Binary\Project\Environment\Application Files' /Y /I /S 

    Like I said, it’s probably not done the way that CruiseControl and MSBUILD developers had intended things to work, but it does work. If you need to get this working yesterday, it might be the solution you’re looking for. Good luck!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 98k
  • Answers 98k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer My C++ is rusty, but wouldn't the following do it:… May 11, 2026 at 7:39 pm
  • Editorial Team
    Editorial Team added an answer You have a couple of options as I see it.… May 11, 2026 at 7:39 pm
  • Editorial Team
    Editorial Team added an answer private bool ViewExists(string name) { ViewEngineResult result = ViewEngines.Engines.FindView(ControllerContext, name,… May 11, 2026 at 7:39 pm

Related Questions

I'm having an issue with CruiseControl.net where the web dashboard just won't work in
I have been trying to use the latest NAnt (0.86 Beta 1) for a
For our VB.NET websites we use SVN for Source Control and CruiseControl.NET for continuous
I'm setting up CruiseControl.NET and during the build I want to modify my version.txt

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.