CruiseControl.net, msbuild,/ p:OutputPath and also CCNetArtifactDirectory

I'm attempting to arrangement CruiseControl.net presently. Until now it functions wonderful, yet I have a Problem with the MSBuild Task.

According to the Documentation, it passes CCNetArtifactDirectory to MSBuild. Yet just how do I utilize it?

I attempted this:

<buildArgs>
   /noconsolelogger /p:OutputPath=$(CCNetArtifactDirectory)\test
</buildArgs>

Yet that does not function. Actually, it eliminates the solution with this mistake:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Reference to unidentified icon CCNetArtifactDirectory

Documentation is instead thin, and also google und mostly supplies changing the.sln Project documents, which is what I intend to stay clear of in order to have the ability to by hand construct this task later on - I would actually favor /p:OutputPath.

0
2019-05-04 01:31:21
Source Share
Answers: 2

You can make use of the artefact directory site variable inside the MSBuild manuscript itself. Below's an instance of just how I'm running FxCop now from my CC.Net MSBuild manuscript (this manuscript is what CC.Net indicate - there is additionally a "Build" target in the manuscript that consists of an MSBuild job versus the SLN to do the real collection):

<Exec
  Command='FxCopCmd.exe /project:"$(MSBuildProjectDirectory)\FXCopRules.FxCop" /out:"$(CCNetArtifactDirectory)\ProjectName.FxCop.xml"'
  WorkingDirectory="C:\Program Files\Microsoft FxCop 1.35"
  ContinueOnError="true"
  IgnoreExitCode="true"
/>
0
2019-05-09 05:56:59
Source

The CCNetArtifactDirectory is passed to the MSBuild by default, so you do not require to bother with it. MSBuild will certainly position the construct result in the "container area" pertinent to the functioning directory site that you have actually defined.

<executable>c:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>C:\data\projects\FooSolution\</workingDirectory>
<projectFile>FooSolution.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug </buildArgs>

So in the above instance your construct result will certainly be placed in C :\ information \ tasks \ FooSolution [ProjectName ] \ container \ Debug. Need to you intend to result to a various area you might intend to consider of the tag in CCNET.

<publishers>
  <xmllogger />
  <buildpublisher>
    <sourceDir>C:\data\projects\FooSolution\FooProject\bin\Debug</sourceDir>
    <publishDir>C:\published\FooSolution\</publishDir>
    <useLabelSubDirectory>false</useLabelSubDirectory>
  </buildpublisher>
</publishers>

This will certainly permit you to release your result to a various area.

0
2019-05-08 21:10:57
Source