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