Hi,

I use ccnet v. 1.5.7256.1
I have following snippet in one of my project in ccnet.config file:

      <tasks>
        <!-- main build -->
        <cb:if expr="'$(BuildControls)'=='true'">
          <msbuild>
              <!-- omitted for brevity
          </msbuild>
        </cb:if>
        <cb:else>
        </cb:else>
        <msbuild>
              <!-- omitted for brevity
        </msbuild>
      </tasks>

However, when ccnet tries to load this, fails with exception:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException:
Reference to unknown symbol if
   at
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.Utils.ThrowException(ExceptionFactory
factory, String fmt, Object[] args)
   at
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessorEnvironment._GetConstantDef(String
name)
   at
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessorEnvironment.eval_constant(String
name)
   at
ThoughtWorks.CruiseControl.Core.Config.Preprocessor.ConfigPreprocessor.PreProcess(XmlReader
input, XmlWriter output, PreprocessorUrlResolver resolver, Uri
input_uri)
   at
ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.CreateXmlValidatingLoader(FileInfo
configFile)
   at
ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.AttemptLoadConfiguration(FileInfo
configFile)
   at
ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.Load(FileInfo
configFile)
   at
ThoughtWorks.CruiseControl.Core.Config.FileConfigurationService.Load()
   at
ThoughtWorks.CruiseControl.Core.Config.FileWatcherConfigurationService.Load()
   at
ThoughtWorks.CruiseControl.Core.Config.CachingConfigurationService.Load()
   at
ThoughtWorks.CruiseControl.Core.CruiseServer..ctor(IConfigurationService
configurationService, IProjectIntegratorListFactory
projectIntegratorListFactory, IProjectSerializer projectSerializer,
IProjectStateManager stateManager, IFileSystem fileSystem,
IExecutionEnvironment executionEnvironment, List`1 extensionList)
   at
ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateLocal(String
configFile)
   at
ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateRemote(String
configFile)
   at
ThoughtWorks.CruiseControl.Core.CruiseServerFactory.Create(Boolean
remote, String configFile)
   at
ThoughtWorks.CruiseControl.Service.AppRunner.CreateAndStartCruiseServer()
   at ThoughtWorks.CruiseControl.Service.AppRunner.Run(String action,
Boolean usesShadowCopying)

It looks lika if command is not recognized. Instead preprocessor looks
for variable named "if".
What am I doing wrong?

Regards, Przemyslaw

Reply via email to