main
   1<?xml version="1.0"?>
   2<configuration>
   3    <!-- Leave this alone. Sets up configsectionhandler section -->
   4    <configSections>
   5        <section name="nant" type="NAnt.Core.ConfigurationSection, NAnt.Core" />
   6        <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
   7    </configSections>
   8    <appSettings>
   9        <!-- Used to indicate the location of the cache folder for shadow files -->
  10        <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
  11        <!-- Used to indicate that NAnt should shadow copy files in a cache folder near the executable -->
  12        <add key="nant.shadowfiles" value="False" />
  13        <!-- Used to indicate if cached files should be deleted when done running-->
  14        <add key="nant.shadowfiles.cleanup" value="False" />
  15        <!-- To enable internal log4net logging, uncomment the next line -->
  16        <!-- <add key="log4net.Internal.Debug" value="true"/> -->
  17    </appSettings>
  18    <!-- nant config settings -->
  19    <nant>
  20        <frameworks>
  21            <platform name="win32" default="auto">
  22                <task-assemblies>
  23                        <!-- include NAnt task assemblies -->
  24                        <include name="*Tasks.dll" />
  25                        <!-- include NAnt test assemblies -->
  26                        <include name="*Tests.dll" />
  27                        <!-- include framework-neutral assemblies -->
  28                        <include name="extensions/common/neutral/**/*.dll" />
  29                        <!-- exclude Microsoft.NET specific task assembly -->
  30                        <exclude name="NAnt.MSNetTasks.dll" />
  31                        <!-- exclude Microsoft.NET specific test assembly -->
  32                        <exclude name="NAnt.MSNet.Tests.dll" />
  33                </task-assemblies>
  34                <framework 
  35                    name="net-1.0"
  36                    family="net"
  37                    version="1.0"
  38                    description="Microsoft .NET Framework 1.0"
  39                    sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
  40                    frameworkdirectory="${path::combine(installRoot, 'v1.0.3705')}"
  41                    frameworkassemblydirectory="${path::combine(installRoot, 'v1.0.3705')}"
  42                    clrversion="1.0.3705"
  43                    clrtype="Desktop"
  44                    >
  45                    <runtime>
  46                        <probing-paths>
  47                            <directory name="lib/net/1.0" />
  48                            <directory name="lib/net/neutral" />
  49                            <directory name="lib/common/1.0" />
  50                            <directory name="lib/common/neutral" />
  51                        </probing-paths>
  52                        <modes>
  53                            <strict>
  54                                <environment>
  55                                    <variable name="COMPLUS_VERSION" value="v1.0.3705" />
  56                                </environment>
  57                            </strict>
  58                        </modes>
  59                    </runtime>
  60                    <reference-assemblies basedir="${path::combine(installRoot, 'v1.0.3705')}">
  61                        <include name="Accessibility.dll" />
  62                        <include name="cscompmgd.dll" />
  63                        <include name="mscorlib.dll" />
  64                        <include name="Microsoft.Vsa.dll" />
  65                        <include name="Microsoft.VisualBasic.dll" />
  66                        <include name="System.Configuration.Install.dll" />
  67                        <include name="System.Data.dll" />
  68                        <include name="System.Design.dll" />
  69                        <include name="System.DirectoryServices.dll" />
  70                        <include name="System.dll" />
  71                        <include name="System.Drawing.Design.dll" />
  72                        <include name="System.Drawing.dll" />
  73                        <include name="System.EnterpriseServices.dll" />
  74                        <include name="System.Management.dll" />
  75                        <include name="System.Messaging.dll" />
  76                        <include name="System.Runtime.Remoting.dll" />
  77                        <include name="System.Runtime.Serialization.Formatters.Soap.dll" />
  78                        <include name="System.Security.dll" />
  79                        <include name="System.ServiceProcess.dll" />
  80                        <include name="System.Web.dll" />
  81                        <include name="System.Web.RegularExpressions.dll" />
  82                        <include name="System.Web.Services.dll" />
  83                        <include name="System.Windows.Forms.dll" />
  84                        <include name="System.XML.dll" />
  85                    </reference-assemblies>
  86                    <task-assemblies>
  87                        <!-- include MS.NET version-neutral assemblies -->
  88                        <include name="extensions/net/neutral/**/*.dll" />
  89                        <!-- include MS.NET 1.0 specific assemblies -->
  90                        <include name="extensions/net/1.0/**/*.dll" />
  91                        <!-- include Microsoft.NET specific task assembly -->
  92                        <include name="NAnt.MSNetTasks.dll" />
  93                        <!-- include Microsoft.NET specific test assembly -->
  94                        <include name="NAnt.MSNet.Tests.dll" />
  95                        <!-- include .NET 1.0 specific assemblies -->
  96                        <include name="extensions/common/1.0/**/*.dll" />
  97                    </task-assemblies>
  98                    <tool-paths>
  99                        <directory name="${path::combine(sdkInstallRoot, 'bin')}"
 100                            if="${property::exists('sdkInstallRoot')}" />
 101                        <directory name="${path::combine(installRoot, 'v1.0.3705')}" />
 102                    </tool-paths>
 103                    <project>
 104                        <readregistry
 105                            property="installRoot"
 106                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 107                            hive="LocalMachine" />
 108                        <readregistry
 109                            property="sdkInstallRoot"
 110                            key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot"
 111                            hive="LocalMachine"
 112                            failonerror="false" />
 113                    </project>
 114                    <tasks>
 115                        <task name="csc">
 116                            <attribute name="supportsnowarnlist">true</attribute>
 117                        </task>
 118                        <task name="vjc">
 119                            <attribute name="supportsnowarnlist">true</attribute>
 120                        </task>
 121                        <task name="delay-sign">
 122                            <attribute name="exename">sn</attribute>
 123                        </task>
 124                        <task name="license">
 125                            <attribute name="exename">lc</attribute>
 126                        </task>
 127                        <task name="aximp">
 128                            <attribute name="supportsrcw">false</attribute>
 129                        </task>
 130                        <task name="tlbimp">
 131                            <attribute name="supportstransform">false</attribute>
 132                        </task>
 133                    </tasks>
 134                </framework>
 135                <framework 
 136                    name="net-1.1"
 137                    family="net"
 138                    version="1.1"
 139                    description="Microsoft .NET Framework 1.1"
 140                    sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
 141                    frameworkdirectory="${path::combine(installRoot, 'v1.1.4322')}"
 142                    frameworkassemblydirectory="${path::combine(installRoot, 'v1.1.4322')}"
 143                    clrversion="1.1.4322"
 144                    clrtype="Desktop"                    
 145                    >
 146                    <runtime>
 147                        <probing-paths>
 148                            <directory name="lib/net/1.1" />
 149                            <directory name="lib/net/neutral" />
 150                            <directory name="lib/common/1.1" />
 151                            <directory name="lib/common/neutral" />
 152                        </probing-paths>
 153                        <modes>
 154                            <strict>
 155                                <environment>
 156                                    <variable name="COMPLUS_VERSION" value="v1.1.4322" />
 157                                </environment>
 158                            </strict>
 159                        </modes>
 160                    </runtime>
 161                    <reference-assemblies basedir="${path::combine(installRoot, 'v1.1.4322')}">
 162                        <include name="Accessibility.dll" />
 163                        <include name="cscompmgd.dll" />
 164                        <include name="mscorlib.dll" />
 165                        <include name="Microsoft.Vsa.dll" />
 166                        <include name="Microsoft.VisualBasic.dll" />
 167                        <include name="Microsoft.VisualBasic.Compatibility.dll" />
 168                        <include name="Microsoft.VisualBasic.Compatibility.Data.dll" />
 169                        <include name="System.Configuration.Install.dll" />
 170                        <include name="System.Data.dll" />
 171                        <include name="System.Data.OracleClient.dll" />
 172                        <include name="System.Design.dll" />
 173                        <include name="System.DirectoryServices.dll" />
 174                        <include name="System.dll" />
 175                        <include name="System.Drawing.Design.dll" />
 176                        <include name="System.Drawing.dll" />
 177                        <include name="System.EnterpriseServices.dll" />
 178                        <include name="System.Management.dll" />
 179                        <include name="System.Messaging.dll" />
 180                        <include name="System.Runtime.Remoting.dll" />
 181                        <include name="System.Runtime.Serialization.Formatters.Soap.dll" />
 182                        <include name="System.Security.dll" />
 183                        <include name="System.ServiceProcess.dll" />
 184                        <include name="System.Web.dll" />
 185                        <include name="System.Web.Mobile.dll" />
 186                        <include name="System.Web.RegularExpressions.dll" />
 187                        <include name="System.Web.Services.dll" />
 188                        <include name="System.Windows.Forms.dll" />
 189                        <include name="System.XML.dll" />
 190                    </reference-assemblies>
 191                    <task-assemblies>
 192                        <!-- include MS.NET version-neutral assemblies -->
 193                        <include name="extensions/net/neutral/**/*.dll" />
 194                        <!-- include MS.NET 1.1 specific assemblies -->
 195                        <include name="extensions/net/1.1/**/*.dll" />
 196                        <!-- include MS.NET specific task assembly -->
 197                        <include name="NAnt.MSNetTasks.dll" />
 198                        <!-- include MS.NET specific test assembly -->
 199                        <include name="NAnt.MSNet.Tests.dll" />
 200                        <!-- include .NET 1.1 specific assemblies -->
 201                        <include name="extensions/common/1.1/**/*.dll" />
 202                    </task-assemblies>
 203                    <tool-paths>
 204                        <directory name="${path::combine(sdkInstallRoot, 'bin')}"
 205                            if="${property::exists('sdkInstallRoot')}" />
 206                        <directory name="${path::combine(installRoot, 'v1.1.4322')}" />
 207                    </tool-paths>
 208                    <project>
 209                        <readregistry 
 210                            property="installRoot"
 211                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 212                            hive="LocalMachine" />
 213                        <readregistry 
 214                            property="sdkInstallRoot"
 215                            key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1"
 216                            hive="LocalMachine"
 217                            failonerror="false" />
 218                    </project>
 219                    <tasks>
 220                        <task name="csc">
 221                            <attribute name="supportsnowarnlist">true</attribute>
 222                        </task>
 223                        <task name="vjc">
 224                            <attribute name="supportsnowarnlist">true</attribute>
 225                        </task>
 226                        <task name="delay-sign">
 227                            <attribute name="exename">sn</attribute>
 228                        </task>
 229                        <task name="license">
 230                            <attribute name="exename">lc</attribute>
 231                        </task>
 232                    </tasks>
 233                </framework>
 234                <framework 
 235                    name="net-2.0"
 236                    family="net"
 237                    version="2.0"
 238                    description="Microsoft .NET Framework 2.0"
 239                    sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
 240                    frameworkdirectory="${path::combine(installRoot, 'v2.0.50727')}"
 241                    frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50727')}"
 242                    clrversion="2.0.50727"
 243                    clrtype="Desktop"                    
 244                    >
 245                    <runtime>
 246                        <probing-paths>
 247                            <directory name="lib/net/2.0" />
 248                            <directory name="lib/net/neutral" />
 249                            <directory name="lib/common/2.0" />
 250                            <directory name="lib/common/neutral" />
 251                        </probing-paths>
 252                        <modes>
 253                            <strict>
 254                                <environment>
 255                                    <variable name="COMPLUS_VERSION" value="v2.0.50727" />
 256                                </environment>
 257                            </strict>
 258                        </modes>
 259                    </runtime>
 260                    <reference-assemblies basedir="${path::combine(installRoot, 'v2.0.50727')}">
 261                        <include name="Accessibility.dll" />
 262                        <include name="cscompmgd.dll" />
 263                        <include name="mscorlib.dll" />
 264                        <include name="Microsoft.Build.Engine.dll" />
 265                        <include name="Microsoft.Build.Framework.dll" />
 266                        <include name="Microsoft.Build.Utilities.dll" />
 267                        <include name="Microsoft.Vsa.dll" />
 268                        <include name="Microsoft.VisualBasic.dll" />
 269                        <include name="Microsoft.VisualBasic.Compatibility.dll" />
 270                        <include name="Microsoft.VisualBasic.Compatibility.Data.dll" />
 271                        <include name="System.Configuration.dll" />
 272                        <include name="System.Configuration.Install.dll" />
 273                        <include name="System.Data.dll" />
 274                        <include name="System.Data.OracleClient.dll" />
 275                        <include name="System.Data.SqlXml.dll" />
 276                        <include name="System.Deployment.dll" />
 277                        <include name="System.Design.dll" />
 278                        <include name="System.DirectoryServices.dll" />
 279                        <include name="System.dll" />
 280                        <include name="System.Drawing.Design.dll" />
 281                        <include name="System.Drawing.dll" />
 282                        <include name="System.EnterpriseServices.dll" />
 283                        <include name="System.Management.dll" />
 284                        <include name="System.Messaging.dll" />
 285                        <include name="System.Runtime.Remoting.dll" />
 286                        <include name="System.Runtime.Serialization.Formatters.Soap.dll" />
 287                        <include name="System.Security.dll" />
 288                        <include name="System.ServiceProcess.dll" />
 289                        <include name="System.Transactions.dll" />
 290                        <include name="System.Web.dll" />
 291                        <include name="System.Web.Mobile.dll" />
 292                        <include name="System.Web.RegularExpressions.dll" />
 293                        <include name="System.Web.Services.dll" />
 294                        <include name="System.Windows.Forms.dll" />
 295                        <include name="System.XML.dll" />
 296                    </reference-assemblies>
 297                    <task-assemblies>
 298                        <!-- include MS.NET version-neutral assemblies -->
 299                        <include name="extensions/net/neutral/**/*.dll" />
 300                        <!-- include MS.NET 2.0 specific assemblies -->
 301                        <include name="extensions/net/2.0/**/*.dll" />
 302                        <!-- include MS.NET specific task assembly -->
 303                        <include name="NAnt.MSNetTasks.dll" />
 304                        <!-- include MS.NET specific test assembly -->
 305                        <include name="NAnt.MSNet.Tests.dll" />
 306                        <!-- include .NET 2.0 specific assemblies -->
 307                        <include name="extensions/common/2.0/**/*.dll" />
 308                    </task-assemblies>
 309                    <tool-paths>
 310                        <directory name="${path::combine(sdkInstallRoot, 'bin')}"
 311                            if="${property::exists('sdkInstallRoot')}" />
 312                        <directory name="${path::combine(installRoot, 'v2.0.50727')}" />
 313                    </tool-paths>
 314                    <project>
 315                        <readregistry
 316                            property="installRoot"
 317                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 318                            hive="LocalMachine" />
 319                        <readregistry
 320                            property="sdkInstallRoot"
 321                            key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
 322                            hive="LocalMachine"
 323                            failonerror="false" />
 324                    </project>
 325                    <tasks>
 326                        <task name="csc">
 327                            <attribute name="supportsnowarnlist">true</attribute>
 328                            <attribute name="supportswarnaserrorlist">true</attribute>
 329                            <attribute name="supportskeycontainer">true</attribute>
 330                            <attribute name="supportskeyfile">true</attribute>
 331                            <attribute name="supportsdelaysign">true</attribute>
 332                            <attribute name="supportsplatform">true</attribute>
 333                            <attribute name="supportslangversion">true</attribute>
 334                        </task>
 335                        <task name="vbc">
 336                            <attribute name="supportsdocgeneration">true</attribute>
 337                            <attribute name="supportsnostdlib">true</attribute>
 338                            <attribute name="supportsnowarnlist">true</attribute>
 339                            <attribute name="supportskeycontainer">true</attribute>
 340                            <attribute name="supportskeyfile">true</attribute>
 341                            <attribute name="supportsdelaysign">true</attribute>
 342                            <attribute name="supportsplatform">true</attribute>
 343                            <attribute name="supportswarnaserrorlist">true</attribute>
 344                        </task>
 345                        <task name="jsc">
 346                            <attribute name="supportsplatform">true</attribute>
 347                        </task>
 348                        <task name="vjc">
 349                            <attribute name="supportsnowarnlist">true</attribute>
 350                            <attribute name="supportskeycontainer">true</attribute>
 351                            <attribute name="supportskeyfile">true</attribute>
 352                            <attribute name="supportsdelaysign">true</attribute>
 353                        </task>
 354                        <task name="resgen">
 355                            <attribute name="supportsassemblyreferences">true</attribute>
 356                            <attribute name="supportsexternalfilereferences">true</attribute>
 357                        </task>
 358                        <task name="delay-sign">
 359                            <attribute name="exename">sn</attribute>
 360                        </task>
 361                        <task name="license">
 362                            <attribute name="exename">lc</attribute>
 363                            <attribute name="supportsassemblyreferences">true</attribute>
 364                        </task>
 365                    </tasks>
 366                </framework>
 367                <framework 
 368                    name="net-3.5"
 369                    family="net"
 370                    version="3.5"
 371                    description="Microsoft .NET Framework 3.5"
 372                    sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
 373                    frameworkdirectory="${path::combine(installRoot, 'v3.5')}"
 374                    frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50727')}"
 375                    clrversion="2.0.50727"
 376                    clrtype="Desktop"                    
 377                    >
 378                    <runtime>
 379                        <probing-paths>
 380                            <directory name="lib/net/2.0" />
 381                            <directory name="lib/net/neutral" />
 382                            <directory name="lib/common/2.0" />
 383                            <directory name="lib/common/neutral" />
 384                        </probing-paths>
 385                        <modes>
 386                            <strict>
 387                                <environment>
 388                                    <variable name="COMPLUS_VERSION" value="v2.0.50727" />
 389                                </environment>
 390                            </strict>
 391                        </modes>
 392                    </runtime>
 393                    <reference-assemblies basedir="${path::combine(installRoot, 'v2.0.50727')}">
 394                        <include name="Accessibility.dll" />
 395                        <include name="cscompmgd.dll" />
 396                        <include name="mscorlib.dll" />
 397                        <include name="Microsoft.Build.Utilities.dll" />
 398                        <include name="Microsoft.Vsa.dll" />
 399                        <include name="Microsoft.VisualBasic.dll" />
 400                        <include name="Microsoft.VisualBasic.Compatibility.dll" />
 401                        <include name="Microsoft.VisualBasic.Compatibility.Data.dll" />
 402                        <include name="System.Configuration.dll" />
 403                        <include name="System.Configuration.Install.dll" />
 404                        <include name="System.Data.dll" />
 405                        <include name="System.Data.OracleClient.dll" />
 406                        <include name="System.Data.SqlXml.dll" />
 407                        <include name="System.Deployment.dll" />
 408                        <include name="System.Design.dll" />
 409                        <include name="System.DirectoryServices.dll" />
 410                        <include name="System.dll" />
 411                        <include name="System.Drawing.Design.dll" />
 412                        <include name="System.Drawing.dll" />
 413                        <include name="System.EnterpriseServices.dll" />
 414                        <include name="System.Management.dll" />
 415                        <include name="System.Messaging.dll" />
 416                        <include name="System.Runtime.Remoting.dll" />
 417                        <include name="System.Runtime.Serialization.Formatters.Soap.dll" />
 418                        <include name="System.Security.dll" />
 419                        <include name="System.ServiceProcess.dll" />
 420                        <include name="System.Transactions.dll" />
 421                        <include name="System.Web.dll" />
 422                        <include name="System.Web.Mobile.dll" />
 423                        <include name="System.Web.RegularExpressions.dll" />
 424                        <include name="System.Web.Services.dll" />
 425                        <include name="System.Windows.Forms.dll" />
 426                        <include name="System.XML.dll" />
 427                    </reference-assemblies>
 428                    <reference-assemblies basedir="${environment::get-folder-path('ProgramFiles')}/Reference Assemblies/Microsoft/Framework/v3.5">
 429                        <include name="Microsoft.Build.Engine.dll" />
 430                        <include name="Microsoft.Build.Framework.dll" />
 431                        <include name="System.AddIn.Contract.dll" />
 432                        <include name="System.AddIn.dll" />
 433                        <include name="System.Core.dll" />
 434                        <include name="System.Data.DataSetExtensions.dll" />
 435                        <include name="System.Data.Linq.dll" />
 436                        <include name="System.DirectoryServices.AccountManagement.dll" />
 437                        <include name="System.Management.Instrumentation.dll" />
 438                        <include name="System.Net.dll" />
 439                        <include name="System.ServiceModel.Web.dll" />
 440                        <include name="System.Web.Extensions.Design.dll" />
 441                        <include name="System.Web.Extensions.dll" />
 442                        <include name="System.Windows.Presentation.dll" />
 443                        <include name="System.WorkflowServices.dll" />
 444                        <include name="System.Xml.Linq.dll" />
 445                    </reference-assemblies>
 446                    <reference-assemblies basedir="${environment::get-folder-path('ProgramFiles')}/Reference Assemblies/Microsoft/Framework/v3.0">
 447                        <include name="System.IdentityModel.dll" />
 448                        <include name="System.IdentityModel.Selectors.dll" />
 449                        <include name="System.IO.Log.dll" />
 450                        <include name="System.Printing.dll" />
 451                        <include name="System.Runtime.Serialization.dll" />
 452                        <include name="System.ServiceModel.dll" />
 453                        <include name="System.Speech.dll" />
 454                        <include name="System.Workflow.Activities.dll" />
 455                        <include name="System.Workflow.ComponentModel.dll" />
 456                        <include name="System.Workflow.Runtime.dll" />
 457                        <include name="WindowsBase.dll" />
 458                    </reference-assemblies>
 459                    <task-assemblies>
 460                        <!-- include MS.NET version-neutral assemblies -->
 461                        <include name="extensions/net/neutral/**/*.dll" />
 462                        <!-- include MS.NET 2.0 specific assemblies -->
 463                        <include name="extensions/net/2.0/**/*.dll" />
 464                        <!-- include MS.NET specific task assembly -->
 465                        <include name="NAnt.MSNetTasks.dll" />
 466                        <!-- include MS.NET specific test assembly -->
 467                        <include name="NAnt.MSNet.Tests.dll" />
 468                        <!-- include .NET 2.0 specific assemblies -->
 469                        <include name="extensions/common/2.0/**/*.dll" />
 470                    </task-assemblies>
 471                    <tool-paths>
 472                        <directory name="${path::combine(sdkInstallRoot, 'bin')}"
 473                            if="${property::exists('sdkInstallRoot')}" />
 474                        <directory name="${path::combine(installRoot, 'v3.5')}" />
 475                        <directory name="${path::combine(installRoot, 'v2.0.50727')}" />
 476                    </tool-paths>
 477                    <project>
 478                        <readregistry
 479                            property="installRoot"
 480                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 481                            hive="LocalMachine" />
 482                        <readregistry
 483                            property="sdkInstallRoot"
 484                            key="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A\WinSDKNetFxTools\InstallationFolder"
 485                            hive="LocalMachine"
 486                            failonerror="false" />
 487                    </project>
 488                    <tasks>
 489                        <task name="csc">
 490                            <attribute name="supportsnowarnlist">true</attribute>
 491                            <attribute name="supportswarnaserrorlist">true</attribute>
 492                            <attribute name="supportskeycontainer">true</attribute>
 493                            <attribute name="supportskeyfile">true</attribute>
 494                            <attribute name="supportsdelaysign">true</attribute>
 495                            <attribute name="supportsplatform">true</attribute>
 496                            <attribute name="supportslangversion">true</attribute>
 497                        </task>
 498                        <task name="vbc">
 499                            <attribute name="supportsdocgeneration">true</attribute>
 500                            <attribute name="supportsnostdlib">true</attribute>
 501                            <attribute name="supportsnowarnlist">true</attribute>
 502                            <attribute name="supportskeycontainer">true</attribute>
 503                            <attribute name="supportskeyfile">true</attribute>
 504                            <attribute name="supportsdelaysign">true</attribute>
 505                            <attribute name="supportsplatform">true</attribute>
 506                            <attribute name="supportswarnaserrorlist">true</attribute>
 507                        </task>
 508                        <task name="jsc">
 509                            <attribute name="supportsplatform">true</attribute>
 510                        </task>
 511                        <task name="vjc">
 512                            <attribute name="supportsnowarnlist">true</attribute>
 513                            <attribute name="supportskeycontainer">true</attribute>
 514                            <attribute name="supportskeyfile">true</attribute>
 515                            <attribute name="supportsdelaysign">true</attribute>
 516                        </task>
 517                        <task name="resgen">
 518                            <attribute name="supportsassemblyreferences">true</attribute>
 519                            <attribute name="supportsexternalfilereferences">true</attribute>
 520                        </task>
 521                        <task name="delay-sign">
 522                            <attribute name="exename">sn</attribute>
 523                        </task>
 524                        <task name="license">
 525                            <attribute name="exename">lc</attribute>
 526                            <attribute name="supportsassemblyreferences">true</attribute>
 527                        </task>
 528                    </tasks>
 529                </framework>
 530                <framework 
 531                    name="netcf-1.0"
 532                    family="netcf"
 533                    version="1.0"
 534                    description="Microsoft .NET Compact Framework 1.0"
 535                    sdkdirectory="${path::combine(sdkInstallRoot, 'v1.0.5000\bin')}"
 536                    frameworkdirectory="${path::combine(installRoot, 'v1.1.4322')}"
 537                    frameworkassemblydirectory="${path::combine(sdkInstallRoot, 'v1.0.5000\Windows CE')}"
 538                    clrversion="1.1.4322"
 539                    clrtype="Compact"                    
 540                    >
 541                    <runtime>
 542                        <modes>
 543                            <strict>
 544                                <environment>
 545                                    <variable name="COMPLUS_VERSION" value="v1.1.4322" />
 546                                </environment>
 547                            </strict>
 548                        </modes>
 549                    </runtime>
 550                    <reference-assemblies basedir="${path::combine(sdkInstallRoot, 'v1.0.5000\Windows CE')}">
 551                        <include name="*.dll" />
 552                    </reference-assemblies>
 553                    <task-assemblies>
 554                        <!-- this is not a supported runtime framework -->
 555                    </task-assemblies>
 556                    <tool-paths>
 557                        <directory name="${path::combine(sdkInstallRoot, 'v1.0.5000\bin')}" />
 558                        <directory name="${path::combine(installRoot, 'v1.1.4322')}" />
 559                        <directory name="${path::combine(sdkInstallRoot.DesktopFramework, 'bin')}" />
 560                    </tool-paths>
 561                    <project>
 562                        <readregistry
 563                            property="installRoot"
 564                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 565                            hive="LocalMachine" />
 566                        <readregistry
 567                            property="sdkInstallRoot"
 568                            key="SOFTWARE\Microsoft\.NETCompactFramework\sdkInstallRoot"
 569                            hive="LocalMachine" />
 570                        <readregistry
 571                            property="sdkInstallRoot.DesktopFramework"
 572                            key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1"
 573                            hive="LocalMachine" />
 574                        <fail if="${not directory::exists(sdkInstallRoot.DesktopFramework)}">The .NET Framework 1.1 SDK is not installed.</fail>
 575                    </project>
 576                    <tasks>
 577                        <task name="csc">
 578                            <attribute name="noconfig">true</attribute>
 579                            <attribute name="nostdlib">true</attribute>
 580                            <attribute name="supportsnowarnlist">true</attribute>
 581                        </task>
 582                        <task name="resgen">
 583                            <attribute name="exename">cfresgen</attribute>
 584                        </task>
 585                        <task name="delay-sign">
 586                            <attribute name="exename">sn</attribute>
 587                        </task>
 588                        <task name="license">
 589                            <attribute name="exename">lc</attribute>
 590                        </task>
 591                    </tasks>
 592                </framework>
 593                <framework 
 594                    name="netcf-2.0"
 595                    family="netcf"
 596                    version="2.0"
 597                    description="Microsoft .NET Compact Framework 2.0"
 598                    sdkdirectory="${path::combine(sdkInstallRoot.DesktopFramework, 'bin')}"
 599                    frameworkdirectory="${path::combine(installRoot, 'v2.0.50727')}"
 600                    frameworkassemblydirectory="${path::combine(sdkInstallRoot, 'WindowsCE')}"
 601                    clrversion="2.0.0"
 602                    clrtype="Compact"                    
 603                    >
 604                    <runtime>
 605                        <modes>
 606                            <strict>
 607                                <environment>
 608                                    <variable name="COMPLUS_VERSION" value="v2.0.50727" />
 609                                </environment>
 610                            </strict>
 611                        </modes>
 612                    </runtime>
 613                    <reference-assemblies basedir="${path::combine(sdkInstallRoot, 'WindowsCE')}">
 614                        <include name="*.dll" />
 615                    </reference-assemblies>
 616                    <task-assemblies>
 617                        <!-- this is not a supported runtime framework -->
 618                    </task-assemblies>
 619                    <tool-paths>
 620                        <directory name="${path::combine(sdkInstallRoot.DesktopFramework, 'bin')}" />
 621                    </tool-paths>
 622                    <project>
 623                        <readregistry
 624                            property="installRoot"
 625                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 626                            hive="LocalMachine" />
 627                        <readregistry
 628                            property="sdkInstallRoot"
 629                            key="SOFTWARE\Microsoft\.NETCompactFramework\v2.0.0.0\InstallRoot\"
 630                            hive="LocalMachine" />
 631                        <readregistry
 632                            property="sdkInstallRoot.DesktopFramework"
 633                            key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
 634                            hive="LocalMachine" />
 635                        <fail if="${not directory::exists(sdkInstallRoot.DesktopFramework)}">The .NET Framework 2.0 SDK is not installed.</fail>
 636                    </project>
 637                    <tasks>
 638                        <task name="csc">
 639                            <attribute name="noconfig">true</attribute>
 640                            <attribute name="nostdlib">true</attribute>
 641                            <attribute name="supportsnowarnlist">true</attribute>
 642                            <attribute name="supportswarnaserrorlist">true</attribute>
 643                            <attribute name="supportskeycontainer">true</attribute>
 644                            <attribute name="supportskeyfile">true</attribute>
 645                            <attribute name="supportsdelaysign">true</attribute>
 646                            <attribute name="supportsplatform">true</attribute>
 647                            <attribute name="supportslangversion">true</attribute>
 648                        </task>
 649                        <task name="vbc">
 650                            <attribute name="nostdlib">true</attribute>
 651                            <attribute name="supportsdocgeneration">true</attribute>
 652                            <attribute name="supportsnostdlib">true</attribute>
 653                            <attribute name="supportsnowarnlist">true</attribute>
 654                            <attribute name="supportskeycontainer">true</attribute>
 655                            <attribute name="supportskeyfile">true</attribute>
 656                            <attribute name="supportsdelaysign">true</attribute>
 657                            <attribute name="supportsplatform">true</attribute>
 658                            <attribute name="supportswarnaserrorlist">true</attribute>
 659                        </task>
 660                        <task name="resgen">
 661                            <attribute name="supportsassemblyreferences">true</attribute>
 662                            <attribute name="supportsexternalfilereferences">true</attribute>
 663                        </task>
 664                        <task name="delay-sign">
 665                            <attribute name="exename">sn</attribute>
 666                        </task>
 667                        <task name="license">
 668                            <attribute name="exename">lc</attribute>
 669                            <attribute name="supportsassemblyreferences">true</attribute>
 670                        </task>
 671                    </tasks>
 672                </framework>
 673                <framework 
 674                    name="silverlight-2.0"
 675                    family="silverlight"
 676                    version="2.0"
 677                    description="Microsoft Silverlight 2.0"
 678                    sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
 679                    frameworkdirectory="${path::combine(installRoot, 'v2.0.50727')}"
 680                    frameworkassemblydirectory="${environment::get-folder-path('ProgramFiles')}/Microsoft Silverlight/2.0.30523.6"
 681                    clrversion="2.0.50727"
 682                    clrtype="Browser"                    
 683                    >
 684                    <runtime>
 685                        <modes>
 686                            <strict>
 687                                <environment>
 688                                    <variable name="COMPLUS_VERSION" value="v2.0.50727" />
 689                                </environment>
 690                            </strict>
 691                        </modes>
 692                    </runtime>
 693                    <reference-assemblies basedir="${environment::get-folder-path('ProgramFiles')}/Microsoft Silverlight/2.0.30523.6">
 694                        <include name="Microsoft.VisualBasic.dll" />
 695                        <include name="mscorlib.dll" />
 696                        <include name="System.Core.dll" />
 697                        <include name="System.dll" />
 698                        <include name="System.Net.dll" />
 699                        <include name="System.Runtime.Serialization.dll" />
 700                        <include name="System.ServiceModel.dll" />
 701                        <include name="System.ServiceModel.Web.dll" />
 702                        <include name="System.Windows.Browser.dll" />
 703                        <include name="System.Windows.dll" />
 704                        <include name="System.Xml.dll" />
 705                    </reference-assemblies>
 706                    <task-assemblies>
 707                        <!-- include MS.NET version-neutral assemblies -->
 708                        <include name="extensions/net/neutral/**/*.dll" />
 709                        <!-- include MS.NET 2.0 specific assemblies -->
 710                        <include name="extensions/net/2.0/**/*.dll" />
 711                        <!-- include MS.NET specific task assembly -->
 712                        <include name="NAnt.MSNetTasks.dll" />
 713                        <!-- include MS.NET specific test assembly -->
 714                        <include name="NAnt.MSNet.Tests.dll" />
 715                        <!-- include .NET 2.0 specific assemblies -->
 716                        <include name="extensions/common/2.0/**/*.dll" />
 717                    </task-assemblies>
 718                    <tool-paths>
 719                        <directory name="${path::combine(sdkInstallRoot, 'bin')}"
 720                            if="${property::exists('sdkInstallRoot')}" />
 721                        <directory name="${path::combine(installRoot, 'v2.0.50727')}" />
 722                        <directory name="${environment::get-folder-path('ProgramFiles')}/Microsoft Silverlight/2.0.30523.6" />
 723                    </tool-paths>
 724                    <project>
 725                        <readregistry
 726                            property="installRoot"
 727                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
 728                            hive="LocalMachine" />
 729                        <readregistry
 730                            property="sdkInstallRoot"
 731                            key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
 732                            hive="LocalMachine"
 733                            failonerror="false" />
 734                    </project>
 735                    <tasks>
 736                        <task name="csc">
 737                            <attribute name="noconfig">true</attribute>
 738                            <attribute name="nostdlib">true</attribute>
 739                            <attribute name="supportsnowarnlist">true</attribute>
 740                            <attribute name="supportswarnaserrorlist">true</attribute>
 741                            <attribute name="supportskeycontainer">true</attribute>
 742                            <attribute name="supportskeyfile">true</attribute>
 743                            <attribute name="supportsdelaysign">true</attribute>
 744                            <attribute name="supportsplatform">true</attribute>
 745                            <attribute name="supportslangversion">true</attribute>
 746                        </task>
 747                        <task name="vbc">
 748                            <attribute name="nostdlib">true</attribute>
 749                            <attribute name="supportsdocgeneration">true</attribute>
 750                            <attribute name="supportsnostdlib">true</attribute>
 751                            <attribute name="supportsnowarnlist">true</attribute>
 752                            <attribute name="supportskeycontainer">true</attribute>
 753                            <attribute name="supportskeyfile">true</attribute>
 754                            <attribute name="supportsdelaysign">true</attribute>
 755                            <attribute name="supportsplatform">true</attribute>
 756                            <attribute name="supportswarnaserrorlist">true</attribute>
 757                        </task>
 758                        <task name="jsc">
 759                            <attribute name="supportsplatform">true</attribute>
 760                        </task>
 761                        <task name="vjc">
 762                            <attribute name="supportsnowarnlist">true</attribute>
 763                            <attribute name="supportskeycontainer">true</attribute>
 764                            <attribute name="supportskeyfile">true</attribute>
 765                            <attribute name="supportsdelaysign">true</attribute>
 766                        </task>
 767                        <task name="resgen">
 768                            <attribute name="supportsassemblyreferences">true</attribute>
 769                            <attribute name="supportsexternalfilereferences">true</attribute>
 770                        </task>
 771                        <task name="delay-sign">
 772                            <attribute name="exename">sn</attribute>
 773                        </task>
 774                        <task name="license">
 775                            <attribute name="exename">lc</attribute>
 776                            <attribute name="supportsassemblyreferences">true</attribute>
 777                        </task>
 778                    </tasks>
 779                </framework>
 780                <framework
 781                    name="mono-1.0"
 782                    family="mono"
 783                    version="1.0"
 784                    description="Mono 1.0 Profile"
 785                    sdkdirectory="${toolDirectory}"
 786                    frameworkdirectory="${toolDirectory}"
 787                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}"
 788                    clrversion="1.1.4322"
 789                    clrtype="Desktop"                    
 790                    >
 791                    <runtime>
 792                        <probing-paths>
 793                            <directory name="lib/mono/1.0" />
 794                            <directory name="lib/mono/neutral" />
 795                            <directory name="lib/common/1.1" />
 796                            <directory name="lib/common/neutral" />
 797                        </probing-paths>
 798                        <modes>
 799                            <auto>
 800                                <engine program="${runtimeEngine}" />
 801                                <environment>
 802                                    <variable name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
 803                                    <variable name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
 804                                </environment>
 805                            </auto>
 806                            <strict>
 807                                <engine program="${runtimeEngine}">
 808                                    <arg value="--runtime=v1.1.4322" />
 809                                </engine>
 810                                <environment>
 811                                    <variable name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
 812                                    <variable name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
 813                                </environment>
 814                            </strict>
 815                        </modes>
 816                    </runtime>
 817                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}">
 818                        <include name="*.dll" />
 819                    </reference-assemblies>
 820                    <task-assemblies>
 821                        <!-- include Mono version-neutral assemblies -->
 822                        <include name="extensions/mono/neutral/**/*.dll" />
 823                        <!-- include Mono 1.0 specific assemblies -->
 824                        <include name="extensions/mono/1.0/**/*.dll" />
 825                        <!-- include .NET 1.1 specific assemblies -->
 826                        <include name="extensions/common/1.1/**/*.dll" />
 827                    </task-assemblies>
 828                    <tool-paths>
 829                        <directory name="${toolDirectory}" />
 830                        <!-- unmanaged tools -->
 831                        <directory name="${sdkInstallRoot}/bin" />
 832                    </tool-paths>
 833                    <project>
 834                        <!-- quick and dirty check to see if pkg-config is available (and configured) -->
 835                        <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
 836                        <if test="${pkgconfig.available}">
 837                            <if test="${pkg-config::exists('mono')}">
 838                                <call target="configure-from-pkg-config" />
 839                            </if>
 840                            <if test="${not pkg-config::exists('mono')}">
 841                                <call target="configure-from-registry" />
 842                            </if>
 843                        </if>
 844                        <if test="${not pkgconfig.available}">
 845                            <call target="configure-from-registry" />
 846                        </if>
 847
 848                        <!-- determine if we're dealing with a Mono 1.0.x release -->
 849                        <if test="${version::parse(mono.version) &lt; version::parse('1.1')}">
 850                            <!-- 
 851                                in Mono 1.0.x, the framework tools are located 
 852                                in the <install root>\lib directory
 853                            -->
 854                            <property name="toolDirectory" value="${frameworkAssemblyDirectory}" />
 855                            <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
 856                            <property name="resgen.tool" value="monoresgen" />
 857                            <!-- in Mono 1.0.x, only mcs and mbas are located in <install root>\lib\mono\<profile> -->
 858                            <property name="csc.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mcs.exe')}" />
 859                            <property name="mbas.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')}" />
 860                            <!-- /doc is not supported in Mono 1.0.x -->
 861                            <property name="csc.supportsdocgeneration" value="false" />
 862
 863                            <!-- 
 864                                Mono 1.0.1 installer incorrectly adds '\mono' to 
 865                                "MonoConfigDir" registry value
 866                            -->
 867                            <if test="${string::ends-with(configDir, 'etc\mono')}">
 868                                <property name="configDir" value="${string::replace(configDir, 'etc\mono', 'etc')}" />
 869                            </if>
 870                        </if>
 871
 872                        <!-- determine if we're dealing with a Mono 1.1.x release or higher -->
 873                        <if test="${version::parse(mono.version) >= version::parse('1.1')}">
 874                            <!-- 
 875                                in Mono 1.1.x (and higher ?), the framework tools 
 876                                are located in the <install root>\lib\mono\<profile>
 877                                directory
 878                            -->
 879                            <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
 880                            <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
 881                            <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
 882                            <if test="${not file::exists(runtimeEngine)}">
 883                                <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
 884                            </if>
 885                            <property name="resgen.tool" value="resgen" />
 886                            <property name="csc.tool" value="mcs" />
 887                            <property name="csc.supportsdocgeneration" value="true" />
 888                            <property name="mbas.tool" value="mbas" />
 889                        </if>
 890
 891                        <target name="configure-from-pkg-config">
 892                            <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
 893                            <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
 894                            <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
 895                            <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc')}/" />
 896                        </target>
 897
 898                        <target name="configure-from-registry">
 899                            <!-- 
 900                                first try using the DefaultCLR in HKLM\Novell\Mono, 
 901                                this is used by the Mono 1.0.1 installer (and later?)
 902                            -->
 903                            <readregistry
 904                                property="mono.version"
 905                                key="SOFTWARE\Novell\Mono\DefaultCLR"
 906                                hive="LocalMachine" 
 907                                failonerror="false" 
 908                            />
 909                        
 910                            <if test="${property::exists('mono.version')}">
 911                                <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
 912                            </if>
 913                        
 914                            <!-- 
 915                                if the DefaultCLR registry value does not exist in 
 916                                HKLM\Novell\Mono, then try the HKML\Mono registry 
 917                                key as this was used for the Mono 1.0 installer
 918                            -->
 919                            <if test="${not property::exists('mono.version')}">
 920                                <readregistry
 921                                    property="mono.version"
 922                                    key="SOFTWARE\Mono\DefaultCLR"
 923                                    hive="LocalMachine" 
 924                                />
 925                                <property name="monokey" value="SOFTWARE\Mono\${mono.version}" />
 926                            </if>
 927
 928                            <readregistry
 929                                property="sdkInstallRoot"
 930                                key="${monokey}\SdkInstallRoot"
 931                                hive="LocalMachine" />
 932                            <readregistry
 933                                property="frameworkAssemblyDirectory"
 934                                key="${monokey}\FrameworkAssemblyDirectory"
 935                                hive="LocalMachine" />
 936                            <readregistry
 937                                property="configDir"
 938                                key="${monokey}\MonoConfigDir"
 939                                hive="LocalMachine" />
 940                        </target>
 941                    </project>
 942                    <properties>
 943                    </properties>
 944                    <tasks>
 945                        <task name="al">
 946                            <attribute name="managed">true</attribute>
 947                        </task>
 948                        <task name="csc">
 949                            <attribute name="exename">${csc.tool}</attribute>
 950                            <attribute name="managed">true</attribute>
 951                            <attribute name="supportspackagereferences">true</attribute>
 952                            <attribute name="supportsnowarnlist">true</attribute>
 953                            <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
 954                            <attribute name="supportskeycontainer">true</attribute>
 955                            <attribute name="supportskeyfile">true</attribute>
 956                            <attribute name="supportsdelaysign">true</attribute>
 957                            <attribute name="supportslangversion">true</attribute>
 958                        </task>
 959                        <task name="jsc">
 960                            <attribute name="exename">mjs</attribute>
 961                            <attribute name="managed">true</attribute>
 962                        </task>
 963                        <task name="vbc">
 964                            <attribute name="exename">${mbas.tool}</attribute>
 965                            <attribute name="managed">true</attribute>
 966                        </task>
 967                        <task name="resgen">
 968                            <attribute name="exename">${resgen.tool}</attribute>
 969                            <attribute name="managed">true</attribute>
 970                        </task>
 971                        <task name="delay-sign">
 972                            <attribute name="exename">sn</attribute>
 973                            <attribute name="managed">true</attribute>
 974                        </task>
 975                        <task name="license">
 976                            <attribute name="hascommandlinecompiler">false</attribute>
 977                        </task>
 978                        <task name="ilasm">
 979                            <attribute name="managed">true</attribute>
 980                        </task>
 981                    </tasks>
 982                </framework>
 983                <framework 
 984                    name="mono-2.0"
 985                    family="mono"
 986                    version="2.0"
 987                    description="Mono 2.0 Profile"
 988                    sdkdirectory="${toolDirectory}"
 989                    frameworkdirectory="${toolDirectory}"
 990                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
 991                    clrversion="2.0.50727"
 992                    clrtype="Desktop"                    
 993                    >
 994                    <runtime>
 995                        <probing-paths>
 996                            <directory name="lib/mono/2.0" />
 997                            <directory name="lib/mono/neutral" />
 998                            <directory name="lib/common/2.0" />
 999                            <directory name="lib/common/neutral" />
1000                        </probing-paths>
1001                        <modes>
1002                            <auto>
1003                                <engine program="${runtimeEngine}" />
1004                                <environment>
1005                                    <variable name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
1006                                    <variable name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
1007                                </environment>
1008                            </auto>
1009                            <strict>
1010                                <engine program="${runtimeEngine}">
1011                                    <arg value="--runtime=v2.0.50727" />
1012                                </engine>
1013                                <environment>
1014                                    <variable name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
1015                                    <variable name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
1016                                </environment>
1017                            </strict>
1018                        </modes>
1019                    </runtime>
1020                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}">
1021                        <include name="*.dll" />
1022                    </reference-assemblies>
1023                    <task-assemblies>
1024                        <!-- include Mono version-neutral assemblies -->
1025                        <include name="extensions/mono/neutral/**/*.dll" />
1026                        <!-- include Mono 2.0 specific assemblies -->
1027                        <include name="extensions/mono/2.0/**/*.dll" />
1028                        <!-- include .NET 2.0 specific assemblies -->
1029                        <include name="extensions/common/2.0/**/*.dll" />
1030                    </task-assemblies>
1031                    <tool-paths>
1032                        <directory name="${toolDirectory}" />
1033                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
1034                        <!-- for compatibility with Mono 1.0.x -->
1035                        <directory name="${frameworkAssemblyDirectory}" />
1036                        <!-- unmanaged tools -->
1037                        <directory name="${sdkInstallRoot}/bin" />
1038                    </tool-paths>
1039                    <project>
1040                        <!-- quick and dirty check to see if pkg-config is available (and configured) -->
1041                        <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
1042                        <if test="${pkgconfig.available}">
1043                            <if test="${pkg-config::exists('mono')}">
1044                                <call target="configure-from-pkg-config" />
1045                            </if>
1046                            <if test="${not pkg-config::exists('mono')}">
1047                                <call target="configure-from-registry" />
1048                            </if>
1049                        </if>
1050                        <if test="${not pkgconfig.available}">
1051                            <call target="configure-from-registry" />
1052                        </if>
1053
1054                        <property name="resgen.supportsexternalfilereferences" value="false" />
1055
1056                        <!-- determine if we're dealing with a Mono 1.0.x release -->
1057                        <if test="${version::parse(mono.version) &lt; version::parse('1.1')}">
1058                            <!-- 
1059                                in Mono 1.0.x, the framework tools are located 
1060                                in the <install root>\lib directory, except for
1061                                mbas and mcs
1062                            -->
1063                            <property name="toolDirectory" value="${frameworkAssemblyDirectory}" />
1064                            <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
1065                            <property name="resgen.tool" value="monoresgen" />
1066                            <property name="csc.supportsdocgeneration" value="false" />
1067
1068                            <!-- 
1069                                Mono 1.0.1 installer incorrectly adds '\mono' to 
1070                                "MonoConfigDir" registry value
1071                            -->
1072                            <if test="${string::ends-with(configDir, 'etc\mono')}">
1073                                <property name="configDir" value="${string::replace(configDir, 'etc\mono', 'etc')}" />
1074                            </if>
1075                        </if>
1076
1077                        <!-- determine if we're dealing with a Mono 1.1.x release or higher -->
1078                        <if test="${version::parse(mono.version) >= version::parse('1.1')}">
1079                            <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
1080                            <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
1081                            <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
1082                            <if test="${not file::exists(runtimeEngine)}">
1083                                <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
1084                            </if>
1085                            <property name="csc.supportsdocgeneration" value="true" />
1086                        </if>
1087                        <!-- as from Mono 1.2.3.50, resgen supports the /usesourcepath option -->
1088                        <if test="${version::parse(mono.version) >= version::parse('1.2.3.50')}">
1089                            <property name="resgen.supportsexternalfilereferences" value="true" />
1090                        </if>
1091
1092                        <target name="configure-from-pkg-config">
1093                            <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
1094                            <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
1095                            <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
1096                            <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc')}/" />
1097                        </target>
1098
1099                        <target name="configure-from-registry">
1100                            <readregistry
1101                                property="mono.version"
1102                                key="SOFTWARE\Novell\Mono\DefaultCLR"
1103                                hive="LocalMachine" 
1104                            />
1105                            <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
1106
1107                            <readregistry
1108                                property="sdkInstallRoot"
1109                                key="${monokey}\SdkInstallRoot"
1110                                hive="LocalMachine" />
1111                            <readregistry
1112                                property="frameworkAssemblyDirectory"
1113                                key="${monokey}\FrameworkAssemblyDirectory"
1114                                hive="LocalMachine" />
1115                            <readregistry
1116                                property="configDir"
1117                                key="${monokey}\MonoConfigDir"
1118                                hive="LocalMachine" />
1119                        </target>
1120                    </project>
1121                    <properties>
1122                    </properties>
1123                    <tasks>
1124                        <task name="al">
1125                            <attribute name="managed">true</attribute>
1126                        </task>
1127                        <task name="csc">
1128                            <attribute name="exename">gmcs</attribute>
1129                            <attribute name="managed">true</attribute>
1130                            <attribute name="supportspackagereferences">true</attribute>
1131                            <attribute name="supportsnowarnlist">true</attribute>
1132                            <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
1133                            <attribute name="supportskeycontainer">true</attribute>
1134                            <attribute name="supportskeyfile">true</attribute>
1135                            <attribute name="supportsdelaysign">true</attribute>
1136                            <attribute name="supportslangversion">true</attribute>
1137                        </task>
1138                        <task name="jsc">
1139                            <attribute name="exename">mjs</attribute>
1140                            <attribute name="managed">strict</attribute>
1141                        </task>
1142                        <task name="vbc">
1143                            <attribute name="exename">vbnc</attribute>
1144                            <attribute name="managed">true</attribute>
1145                        </task>
1146                        <task name="resgen">
1147                            <attribute name="exename">${resgen.tool}</attribute>
1148                            <attribute name="managed">true</attribute>
1149                            <attribute name="supportsexternalfilereferences">${resgen.supportsexternalfilereferences}</attribute>
1150                        </task>
1151                        <task name="delay-sign">
1152                            <attribute name="exename">sn</attribute>
1153                            <attribute name="managed">true</attribute>
1154                        </task>
1155                        <task name="license">
1156                            <attribute name="hascommandlinecompiler">false</attribute>
1157                        </task>
1158                        <task name="ilasm">
1159                            <attribute name="managed">true</attribute>
1160                        </task>
1161                    </tasks>
1162                </framework>
1163                <framework
1164                    name="mono-3.5"
1165                    family="mono"
1166                    version="3.5"
1167                    description="Mono 3.5 Profile"
1168                    sdkdirectory="${toolDirectory}"
1169                    frameworkdirectory="${toolDirectory}"
1170                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
1171                    clrversion="2.0.50727"
1172                    clrtype="Desktop"                    
1173                    >
1174                    <runtime>
1175                        <probing-paths>
1176                            <directory name="lib/mono/2.0" />
1177                            <directory name="lib/mono/neutral" />
1178                            <directory name="lib/common/2.0" />
1179                            <directory name="lib/common/neutral" />
1180                        </probing-paths>
1181                        <modes>
1182                            <auto>
1183                                <engine program="${runtimeEngine}" />
1184                                <environment>
1185                                    <variable name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
1186                                    <variable name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
1187                                </environment>
1188                            </auto>
1189                            <strict>
1190                                <engine program="${runtimeEngine}">
1191                                    <arg value="--runtime=v2.0.50727" />
1192                                </engine>
1193                                <environment>
1194                                    <variable name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
1195                                    <variable name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
1196                                </environment>
1197                            </strict>
1198                        </modes>
1199                    </runtime>
1200                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/3.5')}">
1201                        <include name="*.dll" />
1202                    </reference-assemblies>
1203                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/3.0')}">
1204                        <include name="*.dll" />
1205                    </reference-assemblies>
1206                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}">
1207                        <include name="*.dll" />
1208                    </reference-assemblies>
1209                    <task-assemblies>
1210                        <!-- include Mono version-neutral assemblies -->
1211                        <include name="extensions/mono/neutral/**/*.dll" />
1212                        <!-- include Mono 2.0 specific assemblies -->
1213                        <include name="extensions/mono/2.0/**/*.dll" />
1214                        <!-- include .NET 2.0 specific assemblies -->
1215                        <include name="extensions/common/2.0/**/*.dll" />
1216                    </task-assemblies>
1217                    <tool-paths>
1218                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/3.5')}" />
1219                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
1220                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
1221                        <!-- unmanaged tools -->
1222                        <directory name="${sdkInstallRoot}/bin" />
1223                    </tool-paths>
1224                    <project>
1225                        <!-- quick and dirty check to see if pkg-config is available (and configured) -->
1226                        <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
1227                        <if test="${pkgconfig.available}">
1228                            <if test="${pkg-config::exists('mono')}">
1229                                <call target="configure-from-pkg-config" />
1230                            </if>
1231                            <if test="${not pkg-config::exists('mono')}">
1232                                <call target="configure-from-registry" />
1233                            </if>
1234                        </if>
1235                        <if test="${not pkgconfig.available}">
1236                            <call target="configure-from-registry" />
1237                        </if>
1238
1239                        <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/3.5')}" />
1240                        <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
1241
1242                        <target name="configure-from-pkg-config">
1243                            <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
1244                            <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
1245                            <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
1246                            <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc')}/" />
1247                        </target>
1248
1249                        <target name="configure-from-registry">
1250                            <readregistry
1251                                property="mono.version"
1252                                key="SOFTWARE\Novell\Mono\DefaultCLR"
1253                                hive="LocalMachine" 
1254                            />
1255                            <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
1256                           
1257                            <readregistry
1258                                property="sdkInstallRoot"
1259                                key="${monokey}\SdkInstallRoot"
1260                                hive="LocalMachine" />
1261                            <readregistry
1262                                property="frameworkAssemblyDirectory"
1263                                key="${monokey}\FrameworkAssemblyDirectory"
1264                                hive="LocalMachine" />
1265                            <readregistry
1266                                property="configDir"
1267                                key="${monokey}\MonoConfigDir"
1268                                hive="LocalMachine" />
1269                        </target>
1270                    </project>
1271                    <properties>
1272                    </properties>
1273                    <tasks>
1274                        <task name="al">
1275                            <attribute name="managed">true</attribute>
1276                        </task>
1277                        <task name="csc">
1278                            <attribute name="exename">gmcs</attribute>
1279                            <attribute name="managed">true</attribute>
1280                            <attribute name="langversion">linq</attribute>
1281                            <attribute name="supportspackagereferences">true</attribute>
1282                            <attribute name="supportsnowarnlist">true</attribute>
1283                            <attribute name="supportsdocgeneration">true</attribute>
1284                            <attribute name="supportskeycontainer">true</attribute>
1285                            <attribute name="supportskeyfile">true</attribute>
1286                            <attribute name="supportsdelaysign">true</attribute>
1287                            <attribute name="supportslangversion">true</attribute>
1288                        </task>
1289                        <task name="jsc">
1290                            <attribute name="exename">mjs</attribute>
1291                            <attribute name="managed">strict</attribute>
1292                        </task>
1293                        <task name="vbc">
1294                            <attribute name="exename">vbnc</attribute>
1295                            <attribute name="managed">true</attribute>
1296                        </task>
1297                        <task name="resgen">
1298                            <attribute name="managed">true</attribute>
1299                            <attribute name="supportsexternalfilereferences">true</attribute>
1300                        </task>
1301                        <task name="delay-sign">
1302                            <attribute name="exename">sn</attribute>
1303                            <attribute name="managed">true</attribute>
1304                        </task>
1305                        <task name="license">
1306                            <attribute name="hascommandlinecompiler">false</attribute>
1307                        </task>
1308                        <task name="ilasm">
1309                            <attribute name="managed">true</attribute>
1310                        </task>
1311                    </tasks>
1312                </framework>
1313                <framework
1314                    name="moonlight-2.0" 
1315                    family="moonlight" 
1316                    version="2.0"
1317                    description="Moonlight 2.0"
1318                    sdkdirectory="${toolDirectory}"
1319                    frameworkdirectory="${toolDirectory}"
1320                    frameworkassemblydirectory="${toolDirectory}"
1321                    clrversion="2.0.50727"
1322                    clrtype="Browser"                    
1323                    >
1324                    <runtime>
1325                        <modes>
1326                            <auto>
1327                                <engine program="${runtimeEngine}">
1328                                    <arg value="--runtime=moonlight" />
1329                                    <arg value="--security=temporary-smcs-hack" />
1330                                </engine>
1331                            </auto>
1332                        </modes>
1333                    </runtime>
1334                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'lib/mono/2.1')}">
1335                        <include name="Microsoft.VisualBasic.dll" />
1336                        <include name="mscorlib.dll" />
1337                        <include name="System.Core.dll" />
1338                        <include name="System.dll" />
1339                        <include name="System.Net.dll" />
1340                        <include name="System.Runtime.Serialization.dll" />
1341                        <include name="System.ServiceModel.dll" />
1342                        <include name="System.ServiceModel.Web.dll" />
1343                        <include name="System.Windows.Browser.dll" />
1344                        <include name="System.Windows.dll" />
1345                        <include name="System.Xml.dll" />
1346                    </reference-assemblies>
1347                    <task-assemblies>
1348                        <!-- include MS.NET version-neutral assemblies -->
1349                        <include name="extensions/net/neutral/**/*.dll" />
1350                        <!-- include MS.NET 2.0 specific assemblies -->
1351                        <include name="extensions/net/2.0/**/*.dll" />
1352                        <!-- include MS.NET specific task assembly -->
1353                        <include name="NAnt.MSNetTasks.dll" />
1354                        <!-- include MS.NET specific test assembly -->
1355                        <include name="NAnt.MSNet.Tests.dll" />
1356                        <!-- include .NET 2.0 specific assemblies -->
1357                        <include name="extensions/common/2.0/**/*.dll" />
1358                    </task-assemblies>
1359                    <tool-paths>
1360                        <directory name="${toolDirectory}" />
1361                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
1362                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
1363                        <!-- unmanaged tools -->
1364                        <directory name="${sdkInstallRoot}/bin" />
1365                    </tool-paths>
1366                    <project>
1367                        <!-- quick and dirty check to see if pkg-config is available (and configured) -->
1368                        <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
1369                        <if test="${pkgconfig.available}">
1370                            <if test="${pkg-config::exists('mono')}">
1371                                <call target="configure-from-pkg-config" />
1372                            </if>
1373                            <if test="${not pkg-config::exists('mono')}">
1374                                <call target="configure-from-registry" />
1375                            </if>
1376                        </if>
1377                        <if test="${not pkgconfig.available}">
1378                            <call target="configure-from-registry" />
1379                        </if>
1380
1381                        <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.1')}" />
1382                        <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
1383
1384                        <target name="configure-from-pkg-config">
1385                            <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
1386                            <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
1387                            <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
1388                            <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc')}/" />
1389                        </target>
1390
1391                        <target name="configure-from-registry">
1392                            <readregistry
1393                                property="mono.version"
1394                                key="SOFTWARE\Novell\Mono\DefaultCLR"
1395                                hive="LocalMachine" 
1396                            />
1397                            <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
1398                           
1399                            <readregistry
1400                                property="sdkInstallRoot"
1401                                key="${monokey}\SdkInstallRoot"
1402                                hive="LocalMachine" />
1403                            <readregistry
1404                                property="frameworkAssemblyDirectory"
1405                                key="${monokey}\FrameworkAssemblyDirectory"
1406                                hive="LocalMachine" />
1407                            <readregistry
1408                                property="configDir"
1409                                key="${monokey}\MonoConfigDir"
1410                                hive="LocalMachine" />
1411                        </target>
1412                    </project>
1413                    <tasks>
1414                        <task name="csc">
1415                            <attribute name="exename">smcs</attribute>
1416                            <attribute name="managed">true</attribute>
1417                            <attribute name="supportspackagereferences">true</attribute>
1418                            <attribute name="supportsnowarnlist">true</attribute>
1419                            <attribute name="supportsdocgeneration">true</attribute>
1420                            <attribute name="supportskeycontainer">true</attribute>
1421                            <attribute name="supportskeyfile">true</attribute>
1422                            <attribute name="supportsdelaysign">true</attribute>
1423                            <attribute name="supportslangversion">true</attribute>
1424                        </task>
1425                        <task name="resgen">
1426                            <attribute name="supportsassemblyreferences">true</attribute>
1427                            <attribute name="supportsexternalfilereferences">true</attribute>
1428                        </task>
1429                        <task name="delay-sign">
1430                            <attribute name="exename">sn</attribute>
1431                        </task>
1432                        <task name="license">
1433                            <attribute name="hascommandlinecompiler">false</attribute>
1434                        </task>
1435                    </tasks>
1436                </framework>
1437                <framework 
1438                    name="sscli-1.0"
1439                    family="sscli"
1440                    version="1.0"
1441                    description="Microsoft Shared Source CLI 1.0"
1442                    sdkdirectory="C:\sscli\build\v1.x86fstchk.rotor\sdk\bin"
1443                    frameworkdirectory="C:\sscli\build\v1.x86fstchk.rotor"
1444                    frameworkassemblydirectory="C:\sscli\build\v1.x86fstchk.rotor"
1445                    clrversion="1.0.3"
1446                    clrtype="Desktop"                    
1447                    >
1448                    <runtime>
1449                        <modes>
1450                            <auto>
1451                                <engine program="C:\sscli\build\v1.x86fstchk.rotor\clix.exe" />
1452                            </auto>
1453                        </modes>
1454                    </runtime>
1455                    <reference-assemblies basedir="C:\sscli\build\v1.x86fstchk.rotor">
1456                        <include name="*.dll" />
1457                    </reference-assemblies>
1458                    <task-assemblies>
1459                        <!-- this is not a supported runtime framework -->
1460                    </task-assemblies>
1461                    <tool-paths>
1462                        <directory name="C:\sscli\build\v1.x86fstchk.rotor\sdk\bin" />
1463                        <directory name="C:\sscli\build\v1.x86fstchk.rotor" />
1464                    </tool-paths>
1465                    <project />
1466                    <tasks>
1467                        <task name="csc">
1468                            <attribute name="supportsnowarnlist">true</attribute>
1469                        </task>
1470                        <task name="jsc">
1471                            <attribute name="managed">true</attribute>
1472                        </task>
1473                        <task name="delay-sign">
1474                            <attribute name="exename">sn</attribute>
1475                        </task>
1476                        <task name="license">
1477                            <attribute name="hascommandlinecompiler">false</attribute>
1478                        </task>
1479                        <task name="ilasm">
1480                            <attribute name="managed">true</attribute>
1481                        </task>
1482                        <task name="ildasm">
1483                            <attribute name="managed">true</attribute>
1484                        </task>
1485                    </tasks>
1486                </framework>
1487            </platform>
1488            <platform name="unix" default="auto">
1489                <task-assemblies>
1490                        <!-- include NAnt task assemblies -->
1491                        <include name="*Tasks.dll" />
1492                        <!-- include NAnt test assemblies -->
1493                        <include name="*Tests.dll" />
1494                        <!-- include framework-neutral assemblies -->
1495                        <include name="extensions/common/neutral/**/*.dll" />
1496                        <!-- exclude Microsoft.NET specific task assembly -->
1497                        <exclude name="NAnt.MSNetTasks.dll" />
1498                        <!-- exclude Microsoft.NET specific test assembly -->
1499                        <exclude name="NAnt.MSNet.Tests.dll" />
1500                        <!-- exclude win32 specific task assembly -->
1501                        <exclude name="NAnt.Win32Tasks.dll" />
1502                        <!-- exclude win32 specific test assembly -->
1503                        <exclude name="NAnt.Win32.Tests.dll" />
1504                </task-assemblies>
1505                <framework 
1506                    name="mono-1.0"
1507                    family="mono"
1508                    version="1.0"
1509                    description="Mono 1.0 Profile"
1510                    sdkdirectory="${toolDirectory}"
1511                    frameworkdirectory="${toolDirectory}"
1512                    frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/1.0')}"
1513                    clrversion="1.1.4322"
1514                    clrtype="Desktop"                    
1515                    >
1516                    <runtime>
1517                        <probing-paths>
1518                            <directory name="lib/mono/1.0" />
1519                            <directory name="lib/mono/neutral" />
1520                            <directory name="lib/common/1.1" />
1521                            <directory name="lib/common/neutral" />
1522                        </probing-paths>
1523                        <modes>
1524                            <auto>
1525                                <engine program="${path::combine(prefix, 'bin/mono')}" />
1526                            </auto>
1527                            <strict>
1528                                <engine program="${path::combine(prefix, 'bin/mono')}">
1529                                    <arg value="--runtime=v1.1.4322" />
1530                                </engine>
1531                            </strict>
1532                        </modes>
1533                    </runtime>
1534                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/1.0')}">
1535                        <include name="*.dll" />
1536                    </reference-assemblies>
1537                    <task-assemblies>
1538                        <!-- include Mono version-neutral assemblies -->
1539                        <include name="extensions/mono/neutral/**/*.dll" />
1540                        <!-- include Mono 1.0 specific assemblies -->
1541                        <include name="extensions/mono/1.0/**/*.dll" />
1542                        <!-- include .NET 1.1 specific assemblies -->
1543                        <include name="extensions/common/1.1/**/*.dll" />
1544                    </task-assemblies>
1545                    <tool-paths>
1546                        <directory name="${toolDirectory}" />
1547                        <!-- unmanaged tools -->
1548                        <directory name="${prefix}/bin" />
1549                    </tool-paths>
1550                    <project>
1551                        <if test="${not pkg-config::exists('mono')}">
1552                            <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
1553                        </if>
1554                        <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
1555                        <if test="${not(pkg-config::is-atleast-version('mono', '1.1'))}">
1556                            <property name="toolDirectory" value="${path::combine(prefix, 'bin')}" />
1557                            <property name="resgen.tool" value="monoresgen" />
1558                            <property name="csc.supportsdocgeneration" value="false" />
1559                        </if>
1560                        <if test="${pkg-config::is-atleast-version('mono', '1.1')}">
1561                            <property name="toolDirectory" value="${path::combine(prefix, 'lib/mono/1.0')}" />
1562                            <property name="resgen.tool" value="resgen" />
1563                            <property name="csc.supportsdocgeneration" value="true" />
1564                        </if>
1565                    </project>
1566                    <tasks>
1567                        <task name="al">
1568                            <attribute name="managed">true</attribute>
1569                        </task>
1570                        <task name="csc">
1571                            <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mcs.exe')}</attribute>
1572                            <attribute name="managed">true</attribute>
1573                            <attribute name="supportspackagereferences">true</attribute>
1574                            <attribute name="supportsnowarnlist">true</attribute>
1575                            <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
1576                            <attribute name="supportskeycontainer">true</attribute>
1577                            <attribute name="supportskeyfile">true</attribute>
1578                            <attribute name="supportsdelaysign">true</attribute>
1579                            <attribute name="supportslangversion">true</attribute>
1580                        </task>
1581                        <task name="jsc">
1582                            <attribute name="exename">mjs</attribute>
1583                            <attribute name="managed">true</attribute>
1584                        </task>
1585                        <task name="vbc">
1586                            <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mbas.exe')}</attribute>
1587                            <attribute name="managed">true</attribute>
1588                        </task>
1589                        <task name="resgen">
1590                            <attribute name="exename">${resgen.tool}</attribute>
1591                            <attribute name="managed">true</attribute>
1592                        </task>
1593                        <task name="delay-sign">
1594                            <attribute name="exename">sn</attribute>
1595                            <attribute name="managed">true</attribute>
1596                        </task>
1597                        <task name="license">
1598                            <attribute name="hascommandlinecompiler">false</attribute>
1599                        </task>
1600                        <task name="ilasm">
1601                            <attribute name="managed">true</attribute>
1602                        </task>
1603                    </tasks>
1604                </framework>
1605                <framework
1606                    name="mono-2.0"
1607                    family="mono"
1608                    version="2.0"
1609                    description="Mono 2.0 Profile"
1610                    sdkdirectory="${toolDirectory}"
1611                    frameworkdirectory="${toolDirectory}"
1612                    frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/2.0')}"
1613                    clrversion="2.0.50727"
1614                    clrtype="Desktop"                    
1615                    >
1616                    <runtime>
1617                        <probing-paths>
1618                            <directory name="lib/mono/2.0" />
1619                            <directory name="lib/mono/neutral" />
1620                            <directory name="lib/common/2.0" />
1621                            <directory name="lib/common/neutral" />
1622                        </probing-paths>
1623                        <modes>
1624                            <auto>
1625                                <engine program="${path::combine(prefix, 'bin/mono')}" />
1626                            </auto>
1627                            <strict>
1628                                <engine program="${path::combine(prefix, 'bin/mono')}">
1629                                    <arg value="--runtime=v2.0.50727" />
1630                                </engine>
1631                            </strict>
1632                        </modes>
1633                    </runtime>
1634                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/2.0')}">
1635                        <include name="*.dll" />
1636                    </reference-assemblies>
1637                    <task-assemblies>
1638                        <!-- include Mono version-neutral assemblies -->
1639                        <include name="extensions/mono/neutral/**/*.dll" />
1640                        <!-- include Mono 2.0 specific assemblies -->
1641                        <include name="extensions/mono/2.0/**/*.dll" />
1642                        <!-- include .NET 2.0 specific assemblies -->
1643                        <include name="extensions/common/2.0/**/*.dll" />
1644                    </task-assemblies>
1645                    <tool-paths>
1646                        <directory name="${toolDirectory}" />
1647                        <directory name="${path::combine(prefix, 'lib/mono/1.0')}" />
1648                        <!-- unmanaged tools -->
1649                        <directory name="${prefix}/bin" />
1650                    </tool-paths>
1651                    <project>
1652                        <if test="${not pkg-config::exists('mono')}">
1653                            <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
1654                        </if>
1655                        <property name="resgen.supportsexternalfilereferences" value="false" />
1656                        <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
1657                        <if test="${not(pkg-config::is-atleast-version('mono', '1.1'))}">
1658                            <property name="toolDirectory" value="${path::combine(prefix, 'bin')}" />
1659                            <property name="resgen.tool" value="monoresgen" />
1660                            <property name="csc.supportsdocgeneration" value="false" />
1661                        </if>
1662                        <if test="${pkg-config::is-atleast-version('mono', '1.1')}">
1663                            <property name="toolDirectory" value="${path::combine(prefix, 'lib/mono/2.0')}" />
1664                            <property name="resgen.tool" value="resgen" />
1665                            <property name="csc.supportsdocgeneration" value="true" />
1666                        </if>
1667                        <!-- as from Mono 1.2.3.50, resgen supports the /usesourcepath option -->
1668                        <if test="${pkg-config::is-atleast-version('mono', '1.2.3.50')}">
1669                            <property name="resgen.supportsexternalfilereferences" value="true" />
1670                        </if>
1671                    </project>
1672                    <tasks>
1673                        <task name="al">
1674                            <attribute name="managed">true</attribute>
1675                        </task>
1676                        <task name="csc">
1677                            <attribute name="exename">gmcs</attribute>
1678                            <attribute name="managed">true</attribute>
1679                            <attribute name="supportspackagereferences">true</attribute>
1680                            <attribute name="supportsnowarnlist">true</attribute>
1681                            <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
1682                            <attribute name="supportskeycontainer">true</attribute>
1683                            <attribute name="supportskeyfile">true</attribute>
1684                            <attribute name="supportsdelaysign">true</attribute>
1685                            <attribute name="supportslangversion">true</attribute>
1686                        </task>
1687                        <task name="jsc">
1688                            <attribute name="exename">mjs</attribute>
1689                            <attribute name="managed">strict</attribute>
1690                        </task>
1691                        <task name="vbc">
1692                            <attribute name="exename">vbnc</attribute>
1693                            <attribute name="managed">true</attribute>
1694                        </task>
1695                        <task name="resgen">
1696                            <attribute name="exename">${resgen.tool}</attribute>
1697                            <attribute name="managed">true</attribute>
1698                            <attribute name="supportsexternalfilereferences">${resgen.supportsexternalfilereferences}</attribute>
1699                        </task>
1700                        <task name="delay-sign">
1701                            <attribute name="exename">sn</attribute>
1702                            <attribute name="managed">true</attribute>
1703                        </task>
1704                        <task name="license">
1705                            <attribute name="hascommandlinecompiler">false</attribute>
1706                        </task>
1707                        <task name="ilasm">
1708                            <attribute name="managed">true</attribute>
1709                        </task>
1710                    </tasks>
1711                </framework>
1712                <framework
1713                    name="mono-3.5"
1714                    family="mono"
1715                    version="3.5"
1716                    description="Mono 3.5 Profile"
1717                    sdkdirectory="${toolDirectory}"
1718                    frameworkdirectory="${toolDirectory}"
1719                    frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/2.0')}"
1720                    clrversion="2.0.50727"
1721                    clrtype="Desktop"                    
1722                    >
1723                    <runtime>
1724                        <probing-paths>
1725                            <directory name="lib/mono/2.0" />
1726                            <directory name="lib/mono/neutral" />
1727                            <directory name="lib/common/2.0" />
1728                            <directory name="lib/common/neutral" />
1729                        </probing-paths>
1730                        <modes>
1731                            <auto>
1732                                <engine program="${path::combine(prefix, 'bin/mono')}" />
1733                            </auto>
1734                            <strict>
1735                                <engine program="${path::combine(prefix, 'bin/mono')}">
1736                                    <arg value="--runtime=v2.0.50727" />
1737                                </engine>
1738                            </strict>
1739                        </modes>
1740                    </runtime>
1741                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/3.5')}">
1742                        <include name="*.dll" />
1743                    </reference-assemblies>
1744                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/3.0')}">
1745                        <include name="*.dll" />
1746                    </reference-assemblies>
1747                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/2.0')}">
1748                        <include name="*.dll" />
1749                    </reference-assemblies>
1750                    <task-assemblies>
1751                        <!-- include Mono version-neutral assemblies -->
1752                        <include name="extensions/mono/neutral/**/*.dll" />
1753                        <!-- include Mono 2.0 specific assemblies -->
1754                        <include name="extensions/mono/2.0/**/*.dll" />
1755                        <!-- include .NET 2.0 specific assemblies -->
1756                        <include name="extensions/common/2.0/**/*.dll" />
1757                    </task-assemblies>
1758                    <tool-paths>
1759                        <directory name="${toolDirectory}" />
1760                        <directory name="${path::combine(prefix, 'lib/mono/2.0')}" />
1761                        <directory name="${path::combine(prefix, 'lib/mono/1.0')}" />
1762                        <!-- unmanaged tools -->
1763                        <directory name="${prefix}/bin" />
1764                    </tool-paths>
1765                    <project>
1766                        <if test="${not pkg-config::exists('mono')}">
1767                            <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
1768                        </if>
1769                        <property name="resgen.supportsexternalfilereferences" value="false" />
1770                        <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
1771                        <property name="toolDirectory" value="${path::combine(prefix, 'lib/mono/3.5')}" />
1772                    </project>
1773                    <tasks>
1774                        <task name="al">
1775                            <attribute name="managed">true</attribute>
1776                        </task>
1777                        <task name="csc">
1778                            <attribute name="exename">gmcs</attribute>
1779                            <attribute name="managed">true</attribute>
1780                            <attribute name="langversion">linq</attribute>
1781                            <attribute name="supportspackagereferences">true</attribute>
1782                            <attribute name="supportsnowarnlist">true</attribute>
1783                            <attribute name="supportsdocgeneration">true</attribute>
1784                            <attribute name="supportskeycontainer">true</attribute>
1785                            <attribute name="supportskeyfile">true</attribute>
1786                            <attribute name="supportsdelaysign">true</attribute>
1787                            <attribute name="supportslangversion">true</attribute>
1788                        </task>
1789                        <task name="jsc">
1790                            <attribute name="exename">mjs</attribute>
1791                            <attribute name="managed">strict</attribute>
1792                        </task>
1793                        <task name="vbc">
1794                            <attribute name="exename">vbnc</attribute>
1795                            <attribute name="managed">true</attribute>
1796                        </task>
1797                        <task name="resgen">
1798                            <attribute name="managed">true</attribute>
1799                            <attribute name="supportsexternalfilereferences">true</attribute>
1800                        </task>
1801                        <task name="delay-sign">
1802                            <attribute name="exename">sn</attribute>
1803                            <attribute name="managed">true</attribute>
1804                        </task>
1805                        <task name="license">
1806                            <attribute name="hascommandlinecompiler">false</attribute>
1807                        </task>
1808                        <task name="ilasm">
1809                            <attribute name="managed">true</attribute>
1810                        </task>
1811                    </tasks>
1812                </framework>
1813                <framework
1814                    name="moonlight-2.0" 
1815                    family="moonlight" 
1816                    version="2.0"
1817                    description="Moonlight 2.0"
1818                    sdkdirectory="${toolDirectory}"
1819                    frameworkdirectory="${toolDirectory}"
1820                    frameworkassemblydirectory="${toolDirectory}"
1821                    clrversion="2.0.50727"
1822                    clrtype="Browser"                    
1823                    >
1824                    <runtime>
1825                        <modes>
1826                            <auto>
1827                                <engine program="${path::combine(prefix, 'bin/mono')}">
1828                                    <arg value="--runtime=moonlight" />
1829                                    <arg value="--security=temporary-smcs-hack" />
1830                                </engine>
1831                            </auto>
1832                        </modes>
1833                    </runtime>
1834                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/2.1')}">
1835                        <include name="Microsoft.VisualBasic.dll" />
1836                        <include name="mscorlib.dll" />
1837                        <include name="System.Core.dll" />
1838                        <include name="System.dll" />
1839                        <include name="System.Net.dll" />
1840                        <include name="System.Runtime.Serialization.dll" />
1841                        <include name="System.ServiceModel.dll" />
1842                        <include name="System.ServiceModel.Web.dll" />
1843                        <include name="System.Windows.Browser.dll" />
1844                        <include name="System.Windows.dll" />
1845                        <include name="System.Xml.dll" />
1846                    </reference-assemblies>
1847                    <task-assemblies>
1848                        <!-- include MS.NET version-neutral assemblies -->
1849                        <include name="extensions/net/neutral/**/*.dll" />
1850                        <!-- include MS.NET 2.0 specific assemblies -->
1851                        <include name="extensions/net/2.0/**/*.dll" />
1852                        <!-- include MS.NET specific task assembly -->
1853                        <include name="NAnt.MSNetTasks.dll" />
1854                        <!-- include MS.NET specific test assembly -->
1855                        <include name="NAnt.MSNet.Tests.dll" />
1856                        <!-- include .NET 2.0 specific assemblies -->
1857                        <include name="extensions/common/2.0/**/*.dll" />
1858                    </task-assemblies>
1859                    <tool-paths>
1860                        <directory name="${toolDirectory}" />
1861                        <directory name="${path::combine(prefix, 'lib/mono/2.0')}" />
1862                        <directory name="${path::combine(prefix, 'lib/mono/1.0')}" />
1863                        <!-- unmanaged tools -->
1864                        <directory name="${prefix}/bin" />
1865                    </tool-paths>
1866                    <project>
1867                        <if test="${not pkg-config::exists('mono')}">
1868                            <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
1869                        </if>
1870                        <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
1871                        <property name="toolDirectory" value="${path::combine(prefix, 'lib/mono/2.1')}" />
1872                    </project>
1873                    <tasks>
1874                        <task name="csc">
1875                            <attribute name="exename">smcs</attribute>
1876                            <attribute name="managed">true</attribute>
1877                            <attribute name="supportspackagereferences">true</attribute>
1878                            <attribute name="supportsnowarnlist">true</attribute>
1879                            <attribute name="supportsdocgeneration">true</attribute>
1880                            <attribute name="supportskeycontainer">true</attribute>
1881                            <attribute name="supportskeyfile">true</attribute>
1882                            <attribute name="supportsdelaysign">true</attribute>
1883                            <attribute name="supportslangversion">true</attribute>
1884                        </task>
1885                        <task name="resgen">
1886                            <attribute name="supportsassemblyreferences">true</attribute>
1887                            <attribute name="supportsexternalfilereferences">true</attribute>
1888                        </task>
1889                        <task name="delay-sign">
1890                            <attribute name="exename">sn</attribute>
1891                        </task>
1892                        <task name="license">
1893                            <attribute name="hascommandlinecompiler">false</attribute>
1894                        </task>
1895                    </tasks>
1896                </framework>
1897            </platform>
1898        </frameworks>
1899        <properties>
1900            <!-- properties defined here are accessible to all build files -->
1901            <!-- <property name="foo" value = "bar" readonly="false" /> -->
1902        </properties>
1903    </nant>
1904    <!--
1905        This section contains the log4net configuration settings.
1906
1907        By default, no messages will be logged to the log4net logging infrastructure.
1908
1909        To enable the internal logging, set the threshold attribute on the log4net element
1910        to "ALL".
1911
1912        When internal logging is enabled, internal messages will be written to the 
1913        console.
1914    -->
1915    <log4net threshold="OFF">
1916        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
1917            <layout type="log4net.Layout.PatternLayout">
1918                <param name="ConversionPattern" value="[%c{2}:%m  - [%x] &lt;%X{auth}&gt;]%n" />
1919            </layout>
1920        </appender>
1921        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
1922            <param name="File" value="${APPDATA}\\NAnt\\NAnt.log" />
1923            <param name="AppendToFile" value="true" />
1924            <param name="MaxSizeRollBackups" value="2" />
1925            <param name="MaximumFileSize" value="500KB" />
1926            <param name="RollingStyle" value="Size" />
1927            <param name="StaticLogFileName" value="true" />
1928            <layout type="log4net.Layout.PatternLayout">
1929                <param name="ConversionPattern" value="[%c{2}:%m  - [%x] &lt;%X{auth}&gt;]%n" />
1930            </layout>
1931        </appender>
1932        <!-- Setup the root category, add the appenders and set the default level -->
1933        <root>
1934            <!-- Only log messages with severity ERROR (or higher) -->
1935            <level value="ERROR" />
1936            <!-- Log messages to the console -->
1937            <appender-ref ref="ConsoleAppender" />
1938            <!-- Uncomment the next line to enable logging messages to the NAnt.log file -->
1939            <!-- <appender-ref ref="RollingLogFileAppender" /> -->
1940        </root>
1941        <!-- Specify the priority for some specific categories -->
1942        <!--
1943        <logger name="NAnt.Core.TaskBuilderCollection">
1944            <level value="DEBUG" />
1945        </logger>
1946        <logger name="NAnt">
1947            <level value="INFO" />
1948        </logger>
1949        -->
1950    </log4net>
1951    <runtime>
1952        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
1953            <probing privatePath="lib" />
1954        </assemblyBinding>
1955    </runtime>
1956    <startup>
1957        <!-- .NET Framework 2.0 -->
1958        <supportedRuntime version="v2.0.50727" />
1959        <!-- .NET Framework 1.1 -->
1960        <supportedRuntime version="v1.1.4322" />
1961        <!-- .NET Framework 1.0 -->
1962        <supportedRuntime version="v1.0.3705" />
1963    </startup>
1964</configuration>