Merge pull request #4710 from Unity-Technologies/additional-config-checks
authorAndi McClure <andi.mcclure@xamarin.com>
Mon, 24 Apr 2017 20:23:52 +0000 (16:23 -0400)
committerGitHub <noreply@github.com>
Mon, 24 Apr 2017 20:23:52 +0000 (16:23 -0400)
Add #ifdef checks for code that might not exist

592 files changed:
.gitmodules
README.md
configure.ac
external/Lucene.Net.Light [deleted submodule]
external/api-doc-tools [new submodule]
external/cecil
external/corert
external/nuget-buildtasks
external/roslyn-binaries
mcs/build/library.make
mcs/build/profiles/net_4_x.make
mcs/build/profiles/xammac_net_4_5.make
mcs/build/tests.make
mcs/class/Accessibility/Accessibility-net_4_x.csproj
mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj
mcs/class/Cscompmgd/Cscompmgd-net_4_x.csproj
mcs/class/CustomMarshalers/CustomMarshalers-net_4_x.csproj
mcs/class/Facades/Microsoft.Win32.Primitives/Facades_Microsoft.Win32.Primitives-net_4_x.csproj
mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Facades_Microsoft.Win32.Registry.AccessControl-net_4_x.csproj
mcs/class/Facades/Microsoft.Win32.Registry/Facades_Microsoft.Win32.Registry-net_4_x.csproj
mcs/class/Facades/System.AppContext/Facades_System.AppContext-net_4_x.csproj
mcs/class/Facades/System.Collections.Concurrent/Facades_System.Collections.Concurrent-net_4_x.csproj
mcs/class/Facades/System.Collections.NonGeneric/Facades_System.Collections.NonGeneric-net_4_x.csproj
mcs/class/Facades/System.Collections.Specialized/Facades_System.Collections.Specialized-net_4_x.csproj
mcs/class/Facades/System.Collections/Facades_System.Collections-net_4_x.csproj
mcs/class/Facades/System.ComponentModel.Annotations/Facades_System.ComponentModel.Annotations-net_4_x.csproj
mcs/class/Facades/System.ComponentModel.EventBasedAsync/Facades_System.ComponentModel.EventBasedAsync-net_4_x.csproj
mcs/class/Facades/System.ComponentModel.Primitives/Facades_System.ComponentModel.Primitives-net_4_x.csproj
mcs/class/Facades/System.ComponentModel.TypeConverter/Facades_System.ComponentModel.TypeConverter-net_4_x.csproj
mcs/class/Facades/System.ComponentModel/Facades_System.ComponentModel-net_4_x.csproj
mcs/class/Facades/System.Console/Facades_System.Console-net_4_x.csproj
mcs/class/Facades/System.Data.Common/Facades_System.Data.Common-net_4_x.csproj
mcs/class/Facades/System.Data.SqlClient/Facades_System.Data.SqlClient-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.Contracts/Facades_System.Diagnostics.Contracts-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.Debug/Facades_System.Diagnostics.Debug-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.FileVersionInfo/Facades_System.Diagnostics.FileVersionInfo-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.Process/Facades_System.Diagnostics.Process-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.StackTrace/Facades_System.Diagnostics.StackTrace-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/Facades_System.Diagnostics.TextWriterTraceListener-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.Tools/Facades_System.Diagnostics.Tools-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.TraceEvent/Facades_System.Diagnostics.TraceEvent-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.TraceSource/Facades_System.Diagnostics.TraceSource-net_4_x.csproj
mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj
mcs/class/Facades/System.Drawing.Primitives/Facades_System.Drawing.Primitives-net_4_x.csproj
mcs/class/Facades/System.Dynamic.Runtime/Facades_System.Dynamic.Runtime-net_4_x.csproj
mcs/class/Facades/System.Globalization.Calendars/Facades_System.Globalization.Calendars-net_4_x.csproj
mcs/class/Facades/System.Globalization.Extensions/Facades_System.Globalization.Extensions-net_4_x.csproj
mcs/class/Facades/System.Globalization/Facades_System.Globalization-net_4_x.csproj
mcs/class/Facades/System.IO.Compression.ZipFile/Facades_System.IO.Compression.ZipFile-net_4_x.csproj
mcs/class/Facades/System.IO.FileSystem.AccessControl/Facades_System.IO.FileSystem.AccessControl-net_4_x.csproj
mcs/class/Facades/System.IO.FileSystem.DriveInfo/Facades_System.IO.FileSystem.DriveInfo-net_4_x.csproj
mcs/class/Facades/System.IO.FileSystem.Primitives/Facades_System.IO.FileSystem.Primitives-net_4_x.csproj
mcs/class/Facades/System.IO.FileSystem.Watcher/Facades_System.IO.FileSystem.Watcher-net_4_x.csproj
mcs/class/Facades/System.IO.FileSystem/Facades_System.IO.FileSystem-net_4_x.csproj
mcs/class/Facades/System.IO.IsolatedStorage/Facades_System.IO.IsolatedStorage-net_4_x.csproj
mcs/class/Facades/System.IO.MemoryMappedFiles/Facades_System.IO.MemoryMappedFiles-net_4_x.csproj
mcs/class/Facades/System.IO.Pipes/Facades_System.IO.Pipes-net_4_x.csproj
mcs/class/Facades/System.IO.UnmanagedMemoryStream/Facades_System.IO.UnmanagedMemoryStream-net_4_x.csproj
mcs/class/Facades/System.IO/Facades_System.IO-net_4_x.csproj
mcs/class/Facades/System.Linq.Expressions/Facades_System.Linq.Expressions-net_4_x.csproj
mcs/class/Facades/System.Linq.Parallel/Facades_System.Linq.Parallel-net_4_x.csproj
mcs/class/Facades/System.Linq.Queryable/Facades_System.Linq.Queryable-net_4_x.csproj
mcs/class/Facades/System.Linq/Facades_System.Linq-net_4_x.csproj
mcs/class/Facades/System.Net.AuthenticationManager/Facades_System.Net.AuthenticationManager-net_4_x.csproj
mcs/class/Facades/System.Net.Cache/Facades_System.Net.Cache-net_4_x.csproj
mcs/class/Facades/System.Net.HttpListener/Facades_System.Net.HttpListener-net_4_x.csproj
mcs/class/Facades/System.Net.Mail/Facades_System.Net.Mail-net_4_x.csproj
mcs/class/Facades/System.Net.NameResolution/Facades_System.Net.NameResolution-net_4_x.csproj
mcs/class/Facades/System.Net.NetworkInformation/Facades_System.Net.NetworkInformation-net_4_x.csproj
mcs/class/Facades/System.Net.Primitives/Facades_System.Net.Primitives-net_4_x.csproj
mcs/class/Facades/System.Net.Requests/Facades_System.Net.Requests-net_4_x.csproj
mcs/class/Facades/System.Net.Security/Facades_System.Net.Security-net_4_x.csproj
mcs/class/Facades/System.Net.ServicePoint/Facades_System.Net.ServicePoint-net_4_x.csproj
mcs/class/Facades/System.Net.Sockets/Facades_System.Net.Sockets-net_4_x.csproj
mcs/class/Facades/System.Net.Utilities/Facades_System.Net.Utilities-net_4_x.csproj
mcs/class/Facades/System.Net.WebHeaderCollection/Facades_System.Net.WebHeaderCollection-net_4_x.csproj
mcs/class/Facades/System.Net.WebSockets.Client/Facades_System.Net.WebSockets.Client-net_4_x.csproj
mcs/class/Facades/System.Net.WebSockets/Facades_System.Net.WebSockets-net_4_x.csproj
mcs/class/Facades/System.ObjectModel/Facades_System.ObjectModel-net_4_x.csproj
mcs/class/Facades/System.Reflection.Emit.ILGeneration/Facades_System.Reflection.Emit.ILGeneration-net_4_x.csproj
mcs/class/Facades/System.Reflection.Emit.Lightweight/Facades_System.Reflection.Emit.Lightweight-net_4_x.csproj
mcs/class/Facades/System.Reflection.Emit/Facades_System.Reflection.Emit-net_4_x.csproj
mcs/class/Facades/System.Reflection.Extensions/Facades_System.Reflection.Extensions-net_4_x.csproj
mcs/class/Facades/System.Reflection.Primitives/Facades_System.Reflection.Primitives-net_4_x.csproj
mcs/class/Facades/System.Reflection.TypeExtensions/Facades_System.Reflection.TypeExtensions-net_4_x.csproj
mcs/class/Facades/System.Reflection/Facades_System.Reflection-net_4_x.csproj
mcs/class/Facades/System.Resources.ReaderWriter/Facades_System.Resources.ReaderWriter-net_4_x.csproj
mcs/class/Facades/System.Resources.ResourceManager/Facades_System.Resources.ResourceManager-net_4_x.csproj
mcs/class/Facades/System.Runtime.CompilerServices.VisualC/Facades_System.Runtime.CompilerServices.VisualC-net_4_x.csproj
mcs/class/Facades/System.Runtime.Extensions/Facades_System.Runtime.Extensions-net_4_x.csproj
mcs/class/Facades/System.Runtime.Handles/Facades_System.Runtime.Handles-net_4_x.csproj
mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj
mcs/class/Facades/System.Runtime.InteropServices/Facades_System.Runtime.InteropServices-net_4_x.csproj
mcs/class/Facades/System.Runtime.Numerics/Facades_System.Runtime.Numerics-net_4_x.csproj
mcs/class/Facades/System.Runtime.Serialization.Json/Facades_System.Runtime.Serialization.Json-net_4_x.csproj
mcs/class/Facades/System.Runtime.Serialization.Primitives/Facades_System.Runtime.Serialization.Primitives-net_4_x.csproj
mcs/class/Facades/System.Runtime.Serialization.Xml/Facades_System.Runtime.Serialization.Xml-net_4_x.csproj
mcs/class/Facades/System.Runtime/Facades_System.Runtime-net_4_x.csproj
mcs/class/Facades/System.Security.AccessControl/Facades_System.Security.AccessControl-net_4_x.csproj
mcs/class/Facades/System.Security.Claims/Facades_System.Security.Claims-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Algorithms/Facades_System.Security.Cryptography.Algorithms-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.DeriveBytes/Facades_System.Security.Cryptography.DeriveBytes-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Encoding/Facades_System.Security.Cryptography.Encoding-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/Facades_System.Security.Cryptography.Encryption.Aes-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Encryption/Facades_System.Security.Cryptography.Encryption-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Hashing/Facades_System.Security.Cryptography.Hashing-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.Primitives/Facades_System.Security.Cryptography.Primitives-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.ProtectedData/Facades_System.Security.Cryptography.ProtectedData-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.RSA/Facades_System.Security.Cryptography.RSA-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj
mcs/class/Facades/System.Security.Cryptography.X509Certificates/Facades_System.Security.Cryptography.X509Certificates-net_4_x.csproj
mcs/class/Facades/System.Security.Principal.Windows/Facades_System.Security.Principal.Windows-net_4_x.csproj
mcs/class/Facades/System.Security.Principal/Facades_System.Security.Principal-net_4_x.csproj
mcs/class/Facades/System.Security.SecureString/Facades_System.Security.SecureString-net_4_x.csproj
mcs/class/Facades/System.ServiceModel.Duplex/Facades_System.ServiceModel.Duplex-net_4_x.csproj
mcs/class/Facades/System.ServiceModel.Http/Facades_System.ServiceModel.Http-net_4_x.csproj
mcs/class/Facades/System.ServiceModel.NetTcp/Facades_System.ServiceModel.NetTcp-net_4_x.csproj
mcs/class/Facades/System.ServiceModel.Primitives/Facades_System.ServiceModel.Primitives-net_4_x.csproj
mcs/class/Facades/System.ServiceModel.Security/Facades_System.ServiceModel.Security-net_4_x.csproj
mcs/class/Facades/System.ServiceProcess.ServiceController/Facades_System.ServiceProcess.ServiceController-net_4_x.csproj
mcs/class/Facades/System.Text.Encoding.CodePages/Facades_System.Text.Encoding.CodePages-net_4_x.csproj
mcs/class/Facades/System.Text.Encoding.Extensions/Facades_System.Text.Encoding.Extensions-net_4_x.csproj
mcs/class/Facades/System.Text.Encoding/Facades_System.Text.Encoding-net_4_x.csproj
mcs/class/Facades/System.Text.RegularExpressions/Facades_System.Text.RegularExpressions-net_4_x.csproj
mcs/class/Facades/System.Threading.AccessControl/Facades_System.Threading.AccessControl-net_4_x.csproj
mcs/class/Facades/System.Threading.Overlapped/Facades_System.Threading.Overlapped-net_4_x.csproj
mcs/class/Facades/System.Threading.Tasks.Parallel/Facades_System.Threading.Tasks.Parallel-net_4_x.csproj
mcs/class/Facades/System.Threading.Tasks/Facades_System.Threading.Tasks-net_4_x.csproj
mcs/class/Facades/System.Threading.Thread/Facades_System.Threading.Thread-net_4_x.csproj
mcs/class/Facades/System.Threading.ThreadPool/Facades_System.Threading.ThreadPool-net_4_x.csproj
mcs/class/Facades/System.Threading.Timer/Facades_System.Threading.Timer-net_4_x.csproj
mcs/class/Facades/System.Threading/Facades_System.Threading-net_4_x.csproj
mcs/class/Facades/System.ValueTuple/Facades_System.ValueTuple-net_4_x.csproj
mcs/class/Facades/System.Xml.ReaderWriter/Facades_System.Xml.ReaderWriter-net_4_x.csproj
mcs/class/Facades/System.Xml.XDocument/Facades_System.Xml.XDocument-net_4_x.csproj
mcs/class/Facades/System.Xml.XPath.XDocument/Facades_System.Xml.XPath.XDocument-net_4_x.csproj
mcs/class/Facades/System.Xml.XPath/Facades_System.Xml.XPath-net_4_x.csproj
mcs/class/Facades/System.Xml.XmlDocument/Facades_System.Xml.XmlDocument-net_4_x.csproj
mcs/class/Facades/System.Xml.XmlSerializer/Facades_System.Xml.XmlSerializer-net_4_x.csproj
mcs/class/Facades/System.Xml.Xsl.Primitives/Facades_System.Xml.Xsl.Primitives-net_4_x.csproj
mcs/class/Facades/netstandard/Facades_netstandard-net_4_x.csproj
mcs/class/Facades/netstandard/Makefile
mcs/class/I18N/CJK/I18N.CJK-net_4_x.csproj
mcs/class/I18N/Common/I18N-net_4_x.csproj
mcs/class/I18N/MidEast/I18N.MidEast-net_4_x.csproj
mcs/class/I18N/Other/I18N.Other-net_4_x.csproj
mcs/class/I18N/Rare/I18N.Rare-net_4_x.csproj
mcs/class/I18N/West/I18N.West-net_4_x.csproj
mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_4_x.csproj
mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_x.csproj
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj
mcs/class/Microsoft.Build/Microsoft.Build-net_4_x.csproj
mcs/class/Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj
mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_4_x.csproj
mcs/class/Microsoft.Web.Infrastructure/Microsoft.Web.Infrastructure-net_4_x.csproj
mcs/class/Mono.Btls.Interface/Mono.Btls.Interface-net_4_x.csproj
mcs/class/Mono.C5/Mono.C5-net_4_x.csproj
mcs/class/Mono.CSharp/.gitignore
mcs/class/Mono.CSharp/Makefile
mcs/class/Mono.CSharp/Mono.CSharp-net_4_x.csproj
mcs/class/Mono.CSharp/Mono.CSharp.dll.sources
mcs/class/Mono.Cairo/Mono.Cairo-net_4_x.csproj
mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_4_x.csproj
mcs/class/Mono.Cecil/Mono.Cecil-net_4_x.csproj
mcs/class/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj
mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteConnection.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_4_x.csproj
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_4_x.csproj
mcs/class/Mono.Http/Mono.Http-net_4_x.csproj
mcs/class/Mono.Management/Mono.Management-net_4_x.csproj
mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_4_x.csproj
mcs/class/Mono.Messaging/Mono.Messaging-net_4_x.csproj
mcs/class/Mono.Options/Documentation/en/Mono.Options/CommandSet.xml
mcs/class/Mono.Options/Mono.Options-net_4_x.csproj
mcs/class/Mono.Options/Mono.Options/Options.cs
mcs/class/Mono.Parallel/Mono.Parallel-net_4_x.csproj
mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj
mcs/class/Mono.Posix/Test/Mono.Unix.Native/RealTimeSignumTests.cs
mcs/class/Mono.Posix/Test/Mono.Unix/StdioFileStreamTest.cs
mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs
mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_4_x.csproj
mcs/class/Mono.Security/Mono.Security-net_4_x.csproj
mcs/class/Mono.Simd/Mono.Simd-net_4_x.csproj
mcs/class/Mono.Tasklets/Mono.Tasklets-net_4_x.csproj
mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_4_x.csproj
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_x.csproj
mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_4_x.csproj
mcs/class/PEAPI/PEAPI-net_4_x.csproj
mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_4_x.csproj
mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_4_x.csproj
mcs/class/SMDiagnostics/SMDiagnostics-net_4_x.csproj
mcs/class/System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj
mcs/class/System.Configuration.Install/System.Configuration.Install-net_4_x.csproj
mcs/class/System.Configuration/System.Configuration-net_4_x.csproj
mcs/class/System.Core/System.Core-net_4_x.csproj
mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_4_x.csproj
mcs/class/System.Data.Entity/System.Data.Entity-net_4_x.csproj
mcs/class/System.Data.Linq/System.Data.Linq-net_4_x.csproj
mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_4_x.csproj
mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj
mcs/class/System.Data.Services/System.Data.Services-net_4_x.csproj
mcs/class/System.Data/System.Data-net_4_x.csproj
mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs
mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlParameterCollectionTest.cs
mcs/class/System.Deployment/System.Deployment-net_4_x.csproj
mcs/class/System.Design/System.Design-net_4_x.csproj
mcs/class/System.Design/System.Design-plaindesign-net_4_x.csproj
mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_4_x.csproj
mcs/class/System.DirectoryServices/System.DirectoryServices-net_4_x.csproj
mcs/class/System.Drawing.Design/System.Drawing.Design-net_4_x.csproj
mcs/class/System.Drawing/System.Drawing-net_4_x.csproj
mcs/class/System.Dynamic/System.Dynamic-net_4_x.csproj
mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj
mcs/class/System.IO.Compression.FileSystem/System.IO.Compression.FileSystem-net_4_x.csproj
mcs/class/System.IO.Compression/System.IO.Compression-net_4_x.csproj
mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj
mcs/class/System.IdentityModel/System.IdentityModel-net_4_x.csproj
mcs/class/System.Json.Microsoft/System.Json.Microsoft-net_4_x.csproj
mcs/class/System.Json/System.Json-net_4_x.csproj
mcs/class/System.Management/System.Management-net_4_x.csproj
mcs/class/System.Messaging/System.Messaging-net_4_x.csproj
mcs/class/System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj
mcs/class/System.Net.Http.WebRequest/System.Net.Http.WebRequest-net_4_x.csproj
mcs/class/System.Net.Http/System.Net.Http-net_4_x.csproj
mcs/class/System.Net/System.Net-net_4_x.csproj
mcs/class/System.Numerics.Vectors/System.Numerics.Vectors-net_4_x.csproj
mcs/class/System.Numerics/System.Numerics-net_4_x.csproj
mcs/class/System.Reactive.Core/System.Reactive.Core-net_4_x.csproj
mcs/class/System.Reactive.Debugger/System.Reactive.Debugger-net_4_x.csproj
mcs/class/System.Reactive.Experimental/System.Reactive.Experimental-net_4_x.csproj
mcs/class/System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj
mcs/class/System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj
mcs/class/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases-net_4_x.csproj
mcs/class/System.Reactive.PlatformServices/System.Reactive.PlatformServices-net_4_x.csproj
mcs/class/System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj
mcs/class/System.Reactive.Runtime.Remoting/System.Reactive.Runtime.Remoting-net_4_x.csproj
mcs/class/System.Reactive.Windows.Forms/System.Reactive.Windows.Forms-net_4_x.csproj
mcs/class/System.Reactive.Windows.Threading/System.Reactive.Windows.Threading-net_4_x.csproj
mcs/class/System.Reflection.Context/System.Reflection.Context-net_4_x.csproj
mcs/class/System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj
mcs/class/System.Runtime.DurableInstancing/System.Runtime.DurableInstancing-net_4_x.csproj
mcs/class/System.Runtime.InteropServices.RuntimeInformation/System.Runtime.InteropServices.RuntimeInformation-net_4_x.csproj
mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj
mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj
mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj
mcs/class/System.Security/System.Security-net_4_x.csproj
mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj
mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery-net_4_x.csproj
mcs/class/System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj
mcs/class/System.ServiceModel.Routing/System.ServiceModel.Routing-net_4_x.csproj
mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_4_x.csproj
mcs/class/System.ServiceModel/System.ServiceModel-net_4_x.csproj
mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_4_x.csproj
mcs/class/System.ServiceProcess/System.ServiceProcess-net_4_x.csproj
mcs/class/System.Threading.Tasks.Dataflow/System.Threading.Tasks.Dataflow-net_4_x.csproj
mcs/class/System.Transactions/System.Transactions-net_4_x.csproj
mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj
mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj
mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_4_x.csproj
mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_4_x.csproj
mcs/class/System.Web.Extensions/System.Web.Extensions-net_4_x.csproj
mcs/class/System.Web.Http.SelfHost/System.Web.Http.SelfHost-net_4_x.csproj
mcs/class/System.Web.Http.WebHost/System.Web.Http.WebHost-net_4_x.csproj
mcs/class/System.Web.Http/System.Web.Http-net_4_x.csproj
mcs/class/System.Web.Mobile/System.Web.Mobile-net_4_x.csproj
mcs/class/System.Web.Mvc3/System.Web.Mvc3-net_4_x.csproj
mcs/class/System.Web.Razor/System.Web.Razor-net_4_x.csproj
mcs/class/System.Web.RegularExpressions/System.Web.RegularExpressions-net_4_x.csproj
mcs/class/System.Web.Routing/System.Web.Routing-net_4_x.csproj
mcs/class/System.Web.Services/System.Web.Services-net_4_x.csproj
mcs/class/System.Web.WebPages.Deployment/System.Web.WebPages.Deployment-net_4_x.csproj
mcs/class/System.Web.WebPages.Razor/System.Web.WebPages.Razor-net_4_x.csproj
mcs/class/System.Web.WebPages/System.Web.WebPages-net_4_x.csproj
mcs/class/System.Web/System.Web-net_4_x.csproj
mcs/class/System.Web/System.Web-plainweb-net_4_x.csproj
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization-net_4_x.csproj
mcs/class/System.Windows.Forms/System.Windows.Forms-net_4_x.csproj
mcs/class/System.Windows/System.Windows-net_4_x.csproj
mcs/class/System.Workflow.Activities/System.Workflow.Activities-net_4_x.csproj
mcs/class/System.Workflow.ComponentModel/System.Workflow.ComponentModel-net_4_x.csproj
mcs/class/System.Workflow.Runtime/System.Workflow.Runtime-net_4_x.csproj
mcs/class/System.XML/System.Xml-bare-net_4_x.csproj
mcs/class/System.XML/System.Xml-net_4_x.csproj
mcs/class/System.Xaml/System.Xaml-net_4_x.csproj
mcs/class/System.Xml.Linq/System.Xml.Linq-net_4_x.csproj
mcs/class/System.Xml.Serialization/System.Xml.Serialization-net_4_x.csproj
mcs/class/System/Makefile
mcs/class/System/ReferenceSources/SR.cs
mcs/class/System/System-bare-net_4_x.csproj
mcs/class/System/System-net_4_x.csproj
mcs/class/System/System-secxml-net_4_x.csproj
mcs/class/System/System.Media/AudioDevice.cs
mcs/class/System/System.Net.Sockets/Socket.cs
mcs/class/System/Test/System.Net.Sockets/SocketTest.cs
mcs/class/System/Test/System/UriBuilderTest.cs
mcs/class/System/common.sources
mcs/class/System/corefx/SR.cs
mcs/class/SystemWebTestShim/SystemWebTestShim-net_4_x.csproj
mcs/class/WebMatrix.Data/WebMatrix.Data-net_4_x.csproj
mcs/class/WindowsBase/WindowsBase-net_4_x.csproj
mcs/class/corlib/Microsoft.Win32/IRegistryApi.cs
mcs/class/corlib/Microsoft.Win32/RegistryKey.cs
mcs/class/corlib/Microsoft.Win32/RegistryKeyPermissionCheck.cs
mcs/class/corlib/Microsoft.Win32/UnixRegistryApi.cs
mcs/class/corlib/Microsoft.Win32/Win32ResultCode.cs
mcs/class/corlib/ReferenceSources/AppContextDefaultValues.cs [new file with mode: 0644]
mcs/class/corlib/ReferenceSources/AppContextSwitches.cs [deleted file]
mcs/class/corlib/System.Reflection.Emit/ModuleBuilder.cs
mcs/class/corlib/System.Reflection.Emit/TypeBuilder.cs
mcs/class/corlib/System/TimeZoneInfo.WinRT.cs
mcs/class/corlib/System/TimeZoneInfo.cs
mcs/class/corlib/Test/System.Reflection.Emit/TypeBuilderTest.cs
mcs/class/corlib/Test/System.Threading/CancellationTokenSourceTest.cs
mcs/class/corlib/Test/System/TimeZoneInfoTest.cs
mcs/class/corlib/Test/System/TypeTest.cs
mcs/class/corlib/corert/ThreadPoolBoundHandle.cs [new file with mode: 0644]
mcs/class/corlib/corlib-net_4_x.csproj
mcs/class/corlib/corlib.dll.sources
mcs/class/corlib/net_4_x_corlib.dll.sources [new file with mode: 0644]
mcs/class/legacy/Mono.Cecil/legacy_Mono.Cecil-net_4_x.csproj
mcs/class/monodoc/Makefile
mcs/class/monodoc/Mono.Documentation/ManifestResourceResolver.cs [deleted file]
mcs/class/monodoc/Mono.Documentation/XmlDocUtils.cs [deleted file]
mcs/class/monodoc/Mono.Utilities/LRUCache.cs [deleted file]
mcs/class/monodoc/Mono.Utilities/MemoryLRU.cs [deleted file]
mcs/class/monodoc/Mono.Utilities/colorizer.cs [deleted file]
mcs/class/monodoc/Monodoc.Ecma/.gitignore [deleted file]
mcs/class/monodoc/Monodoc.Ecma/EcmaDesc.cs [deleted file]
mcs/class/monodoc/Monodoc.Ecma/EcmaUrlParser.jay [deleted file]
mcs/class/monodoc/Monodoc.Ecma/EcmaUrlParserDriver.cs [deleted file]
mcs/class/monodoc/Monodoc.Ecma/EcmaUrlTokenizer.cs [deleted file]
mcs/class/monodoc/Monodoc/HelpSource.cs [deleted file]
mcs/class/monodoc/Monodoc/HelpSource_Legacy.cs [deleted file]
mcs/class/monodoc/Monodoc/Node.cs [deleted file]
mcs/class/monodoc/Monodoc/Node_Legacy.cs [deleted file]
mcs/class/monodoc/Monodoc/Provider.cs [deleted file]
mcs/class/monodoc/Monodoc/RootTree.cs [deleted file]
mcs/class/monodoc/Monodoc/RootTree_Legacy.cs [deleted file]
mcs/class/monodoc/Monodoc/SearchableDocument.cs [deleted file]
mcs/class/monodoc/Monodoc/SearchableIndex.cs [deleted file]
mcs/class/monodoc/Monodoc/Tree.cs [deleted file]
mcs/class/monodoc/Monodoc/TypeUtils.cs [deleted file]
mcs/class/monodoc/Monodoc/cache.cs [deleted file]
mcs/class/monodoc/Monodoc/caches/FileCache.cs [deleted file]
mcs/class/monodoc/Monodoc/caches/NullCache.cs [deleted file]
mcs/class/monodoc/Monodoc/generator.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/HtmlGenerator.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/RawGenerator.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Addin2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Ecma2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Ecmaspec2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Error2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Idem.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Man2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/MonoBook2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/generators/html/Toc2Html.cs [deleted file]
mcs/class/monodoc/Monodoc/index.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/EcmaDoc.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/addins-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/ecma-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/ecmaspec-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/ecmauncompiled-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/error-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/man-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/simple-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/providers/xhtml-provider.cs [deleted file]
mcs/class/monodoc/Monodoc/settings.cs [deleted file]
mcs/class/monodoc/Monodoc/settings_Legacy.cs [deleted file]
mcs/class/monodoc/Monodoc/storage.cs [deleted file]
mcs/class/monodoc/Monodoc/storage/NullStorage.cs [deleted file]
mcs/class/monodoc/Monodoc/storage/UncompiledDocStorage.cs [deleted file]
mcs/class/monodoc/Monodoc/storage/ZipStorage.cs [deleted file]
mcs/class/monodoc/Resources/.gitattributes [deleted file]
mcs/class/monodoc/Resources/Lminus.gif [deleted file]
mcs/class/monodoc/Resources/Lplus.gif [deleted file]
mcs/class/monodoc/Resources/base.css [deleted file]
mcs/class/monodoc/Resources/creativecommons.png [deleted file]
mcs/class/monodoc/Resources/ecmaspec-html-css.xsl [deleted file]
mcs/class/monodoc/Resources/ecmaspec-html.xsl [deleted file]
mcs/class/monodoc/Resources/ecmaspec.css [deleted file]
mcs/class/monodoc/Resources/helper.js [deleted file]
mcs/class/monodoc/Resources/home.html [deleted file]
mcs/class/monodoc/Resources/images/bc_bg.png [deleted file]
mcs/class/monodoc/Resources/images/bc_separator.png [deleted file]
mcs/class/monodoc/Resources/images/error.png [deleted file]
mcs/class/monodoc/Resources/images/hatch.png [deleted file]
mcs/class/monodoc/Resources/images/headerbg.png [deleted file]
mcs/class/monodoc/Resources/images/help.png [deleted file]
mcs/class/monodoc/Resources/images/house.png [deleted file]
mcs/class/monodoc/Resources/images/members.png [deleted file]
mcs/class/monodoc/Resources/images/namespace.png [deleted file]
mcs/class/monodoc/Resources/images/privclass.png [deleted file]
mcs/class/monodoc/Resources/images/privdelegate.png [deleted file]
mcs/class/monodoc/Resources/images/privenumeration.png [deleted file]
mcs/class/monodoc/Resources/images/privevent.png [deleted file]
mcs/class/monodoc/Resources/images/privextension.png [deleted file]
mcs/class/monodoc/Resources/images/privfield.png [deleted file]
mcs/class/monodoc/Resources/images/privinterface.png [deleted file]
mcs/class/monodoc/Resources/images/privmethod.png [deleted file]
mcs/class/monodoc/Resources/images/privproperty.png [deleted file]
mcs/class/monodoc/Resources/images/privstructure.png [deleted file]
mcs/class/monodoc/Resources/images/protclass.png [deleted file]
mcs/class/monodoc/Resources/images/protdelegate.png [deleted file]
mcs/class/monodoc/Resources/images/protenumeration.png [deleted file]
mcs/class/monodoc/Resources/images/protevent.png [deleted file]
mcs/class/monodoc/Resources/images/protextension.png [deleted file]
mcs/class/monodoc/Resources/images/protfield.png [deleted file]
mcs/class/monodoc/Resources/images/protinterface.png [deleted file]
mcs/class/monodoc/Resources/images/protmethod.png [deleted file]
mcs/class/monodoc/Resources/images/protproperty.png [deleted file]
mcs/class/monodoc/Resources/images/protstructure.png [deleted file]
mcs/class/monodoc/Resources/images/pubclass.png [deleted file]
mcs/class/monodoc/Resources/images/pubdelegate.png [deleted file]
mcs/class/monodoc/Resources/images/pubenumeration.png [deleted file]
mcs/class/monodoc/Resources/images/pubevent.png [deleted file]
mcs/class/monodoc/Resources/images/pubextension.png [deleted file]
mcs/class/monodoc/Resources/images/pubfield.png [deleted file]
mcs/class/monodoc/Resources/images/pubinterface.png [deleted file]
mcs/class/monodoc/Resources/images/pubmethod.png [deleted file]
mcs/class/monodoc/Resources/images/pubproperty.png [deleted file]
mcs/class/monodoc/Resources/images/pubstructure.png [deleted file]
mcs/class/monodoc/Resources/images/reference.png [deleted file]
mcs/class/monodoc/Resources/images/treebg.png [deleted file]
mcs/class/monodoc/Resources/mdoc-html-format.xsl [deleted file]
mcs/class/monodoc/Resources/mdoc-html-utils.xsl [deleted file]
mcs/class/monodoc/Resources/mdoc-sections-css.xsl [deleted file]
mcs/class/monodoc/Resources/mdoc-sections.xsl [deleted file]
mcs/class/monodoc/Resources/mono-ecma-css.xsl [deleted file]
mcs/class/monodoc/Resources/mono-ecma-impl.xsl [deleted file]
mcs/class/monodoc/Resources/mono-ecma.css [deleted file]
mcs/class/monodoc/Resources/mono-ecma.xsl [deleted file]
mcs/class/monodoc/Resources/toc-html.xsl [deleted file]
mcs/class/monodoc/Test/Monodoc.Ecma/EcmaUrlTests.cs [deleted file]
mcs/class/monodoc/Test/Monodoc.Generators/RawGeneratorTests.cs [deleted file]
mcs/class/monodoc/Test/Monodoc/EcmaDocTests.cs [deleted file]
mcs/class/monodoc/Test/Monodoc/HelpSourceTests.cs [deleted file]
mcs/class/monodoc/Test/Monodoc/NodeTest.cs [deleted file]
mcs/class/monodoc/Test/Monodoc/RootTreeTest.cs [deleted file]
mcs/class/monodoc/Test/Monodoc/SettingsTest.cs [deleted file]
mcs/class/monodoc/Test/Monodoc/TreeTest.cs [deleted file]
mcs/class/monodoc/Test/monodoc_test/.gitignore [deleted file]
mcs/class/monodoc/Test/monodoc_test/monodoc.xml [deleted file]
mcs/class/monodoc/Test/monodoc_test/trees/tree-from-2-10.tree [deleted file]
mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0-old.tree [deleted file]
mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0.tree [deleted file]
mcs/class/monodoc/jay.sh [deleted file]
mcs/class/monodoc/monodoc-net_4_x.csproj
mcs/class/monodoc/monodoc.dll.sources
mcs/class/monodoc/monodoc_test.dll.sources
mcs/class/referencesource/System/net/System/Net/webproxy.cs
mcs/class/referencesource/mscorlib/system/AppContext/AppContext.cs
mcs/class/referencesource/mscorlib/system/AppContext/AppContextSwitches.cs
mcs/ilasm/ilasm-net_4_x.csproj
mcs/mcs/mcs-net_4_x.csproj
mcs/nunit24/ClientUtilities/util/nunit.util-net_4_x.csproj
mcs/nunit24/ConsoleRunner/nunit-console-exe/nunit-console-net_4_x.csproj
mcs/nunit24/ConsoleRunner/nunit-console/nunit-console-runner-net_4_x.csproj
mcs/nunit24/NUnitCore/core/nunit.core-net_4_x.csproj
mcs/nunit24/NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj
mcs/nunit24/NUnitExtensions/core/nunit.core.extensions-net_4_x.csproj
mcs/nunit24/NUnitExtensions/framework/nunit.framework.extensions-net_4_x.csproj
mcs/nunit24/NUnitFramework/framework/NUnit.Framework-net_4_x.csproj
mcs/nunit24/NUnitMocks/mocks/nunit.mocks-net_4_x.csproj
mcs/tools/al/al-net_4_x.csproj
mcs/tools/browsercaps-updater/browsercaps-updater-net_4_x.csproj
mcs/tools/cccheck/cccheck-net_4_x.csproj
mcs/tools/ccrewrite/ccrewrite-net_4_x.csproj
mcs/tools/cil-stringreplacer/cil-stringreplacer-net_4_x.csproj
mcs/tools/cil-strip/AssemblyStripper.cs
mcs/tools/cil-strip/mono-cil-strip-net_4_x.csproj
mcs/tools/commoncryptogenerator/commoncryptogenerator-net_4_x.csproj
mcs/tools/compiler-tester/compiler-tester-net_4_x.csproj
mcs/tools/corcompare/mono-api-info-net_4_x.csproj
mcs/tools/csharp/csharp-net_4_x.csproj
mcs/tools/culevel/culevel-net_4_x.csproj
mcs/tools/disco/disco-net_4_x.csproj
mcs/tools/dtd2rng/dtd2rng-net_4_x.csproj
mcs/tools/dtd2xsd/dtd2xsd-net_4_x.csproj
mcs/tools/gacutil/gacutil-net_4_x.csproj
mcs/tools/genxs/genxs-net_4_x.csproj
mcs/tools/ictool/ictool-net_4_x.csproj
mcs/tools/ikdasm/ikdasm-net_4_x.csproj
mcs/tools/installutil/installutil-net_4_x.csproj
mcs/tools/installvst/installvst-net_4_x.csproj
mcs/tools/lc/lc-net_4_x.csproj
mcs/tools/linker-analyzer/linkeranalyzer-net_4_x.csproj
mcs/tools/linker/monolinker-net_4_x.csproj
mcs/tools/macpack/macpack-net_4_x.csproj
mcs/tools/mconfig/mconfig-net_4_x.csproj
mcs/tools/mdb2ppdb/mdb2ppdb-net_4_x.csproj
mcs/tools/mdbrebase/mdbrebase-net_4_x.csproj
mcs/tools/mdoc/Makefile
mcs/tools/mdoc/Mono.Documentation/MdocFile.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/XhtmlWriter.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/assembler.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/dump.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/ecmadoc.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/exceptions.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/index.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/mdoc.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/monodocer.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/monodocs2slashdoc.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/msitomsx.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/normalize.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/preserver.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/validate.cs [deleted file]
mcs/tools/mdoc/Mono.Documentation/webdoc.cs [deleted file]
mcs/tools/mdoc/Mono.Rocks/ObjectRocks.cs [deleted file]
mcs/tools/mdoc/Mono.Rocks/StreamRocks.cs [deleted file]
mcs/tools/mdoc/Resources/defaulttemplate.xsl [deleted file]
mcs/tools/mdoc/Resources/monodoc-ecma.xsd [deleted file]
mcs/tools/mdoc/Resources/msitomsx.xsl [deleted file]
mcs/tools/mdoc/Resources/overview.xsl [deleted file]
mcs/tools/mdoc/Resources/stylesheet.xsl [deleted file]
mcs/tools/mdoc/Test/validate.check.monodocer.importslashdoc
mcs/tools/mdoc/cecil.mixin.cs [new file with mode: 0644]
mcs/tools/mdoc/mdoc-net_4_x.csproj
mcs/tools/mdoc/mdoc.exe.sources
mcs/tools/mkbundle/mkbundle-net_4_x.csproj
mcs/tools/mod/mod-net_4_x.csproj
mcs/tools/mono-api-html/mono-api-html-net_4_x.csproj
mcs/tools/mono-configuration-crypto/cli/mono-configuration-crypto-net_4_x.csproj
mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto-net_4_x.csproj
mcs/tools/mono-service/mono-service-net_4_x.csproj
mcs/tools/mono-shlib-cop/mono-shlib-cop-net_4_x.csproj
mcs/tools/mono-symbolicate/mono-symbolicate-net_4_x.csproj
mcs/tools/mono-xmltool/mono-xmltool-net_4_x.csproj
mcs/tools/mono-xsd/xsd-net_4_x.csproj
mcs/tools/monop/monop-net_4_x.csproj
mcs/tools/nunitreport/nunitreport-net_4_x.csproj
mcs/tools/pdb2mdb/pdb2mdb-net_4_x.csproj
mcs/tools/resgen/resgen-net_4_x.csproj
mcs/tools/sgen/sgen-net_4_x.csproj
mcs/tools/soapsuds/soapsuds-net_4_x.csproj
mcs/tools/sqlmetal/sqlmetal-net_4_x.csproj
mcs/tools/sqlsharp/sqlsharp-net_4_x.csproj
mcs/tools/svcutil/svcutil-net_4_x.csproj
mcs/tools/wsdl/wsdl-net_4_x.csproj
mono/metadata/appdomain.c
mono/metadata/boehm-gc.c
mono/metadata/class-accessors.c
mono/metadata/class-internals.h
mono/metadata/class.c
mono/metadata/domain-internals.h
mono/metadata/domain.c
mono/metadata/gc-internals.h
mono/metadata/image.c
mono/metadata/jit-info.c
mono/metadata/marshal.c
mono/metadata/metadata.c
mono/metadata/null-gc.c
mono/metadata/object-internals.h
mono/metadata/object.c
mono/metadata/sgen-mono.c
mono/metadata/sre.c
mono/mini/aot-compiler.c
mono/mini/aot-runtime.c
mono/mini/debugger-agent.c
mono/mini/jit-icalls.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64.h
mono/mini/mini-arm.h
mono/mini/mini-arm64.h
mono/mini/mini-exceptions.c
mono/mini/mini-llvm.c
mono/mini/mini-runtime.c
mono/mini/mini-unwind.h
mono/mini/mini.h
mono/mini/unwind.c
mono/sgen/sgen-cardtable.c
mono/sgen/sgen-gc.c
mono/sgen/sgen-gc.h
mono/tests/Makefile.am
mono/tests/generic-special2.2.cs [new file with mode: 0644]
msvc/mono.def
msvc/monosgen.def
msvc/scripts/order.xml
scripts/ci/run-jenkins.sh
tools/nuget-hash-extractor/.gitignore [new file with mode: 0644]
tools/nuget-hash-extractor/Makefile
tools/nuget-hash-extractor/download.sh
tools/nuget-hash-extractor/nuget-hash-extractor.cs

index 942bec22d076328a62a6b76d54437b0c94fb2910..52dd2e7d5b2e23bfad4e2868ab9848bdf5c77650 100644 (file)
@@ -20,9 +20,6 @@
 [submodule "external/reference-assemblies"]
        path = external/binary-reference-assemblies
        url = git://github.com/mono/reference-assemblies.git
-[submodule "external/Lucene.Net.Light"]
-       path = external/Lucene.Net.Light
-       url = git://github.com/mono/Lucene.Net.Light.git
 [submodule "external/nunit-lite"]
        path = external/nunit-lite
        url = git://github.com/mono/NUnitLite.git
@@ -58,3 +55,6 @@
 [submodule "external/xunit-binaries"]
        path = external/xunit-binaries
        url = git://github.com/mono/xunit-binaries.git
+[submodule "external/api-doc-tools"]
+       path = external/api-doc-tools
+       url = git://github.com/mono/api-doc-tools.git
index 87b011375061be7f0b91c045c3975cca6353354d..bd25f4ab2473301bff6f41d5c956015b4df7663e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -193,22 +193,18 @@ disable the compilation of a Mono runtime with the SGen garbage
 collector.
 
   * On platforms that support it, after building Mono, you will have
-both a `mono` binary and a `mono-sgen` binary. `mono` uses Boehm,
+both a `mono-boehm` binary and a `mono-sgen` binary. `mono-boehm` uses Boehm,
 while `mono-sgen` uses the Simple Generational GC.
 
-* `--with-gc=[included, boehm, none]` - Selects the default Boehm
+* `--with-libgc=[included, none]` - Selects the default Boehm
 garbage collector engine to use.
 
   * *included*: (*slightly modified Boehm GC*) This is the default
 value for the Boehm GC, and it's the most feature complete, it will
 allow Mono to use typed allocations and support the debugger.
 
-  * *boehm*: This is used to use a system-install Boehm GC, it is
-useful to test new features available in Boehm GC, but we do not
-recommend that people use this, as it disables a few features.
-
   * *none*:
-Disables the inclusion of a garbage collector.
+Disables the inclusion of a Boehm garbage collector.
 
   * This defaults to `included`.
 
index 28c6002a6d690e83e8b576aaf847db8349ae420a..49ff006923b4396c36183c27e891717807631273 100644 (file)
@@ -1274,7 +1274,7 @@ dnl
 dnl Boehm GC configuration
 dnl
 
-AC_ARG_WITH(libgc,   [  --with-gc=included,none  Controls the Boehm GC config, default=included],[libgc=$with_gc],[libgc=included])
+AC_ARG_WITH(libgc,   [  --with-libgc=included,none  Controls the Boehm GC config, default=included],[libgc=$with_gc],[libgc=included])
 
 AC_ARG_ENABLE(boehm, [  --disable-boehm            Disable the Boehm GC.], support_boehm=$enableval,support_boehm=${support_boehm:-yes})
 AM_CONDITIONAL(SUPPORT_BOEHM, test x$support_boehm = xyes)
@@ -1322,7 +1322,7 @@ if test "x$support_boehm" = "xyes"; then
                        ;;
 
                xsgen)
-                       AC_MSG_WARN("Use --with-sgen instead, --with-gc= controls Boehm configuration")
+                       AC_MSG_WARN("Use --with-sgen instead, --with-libgc= controls Boehm configuration")
                        ;;
 
                xnone)
@@ -1332,7 +1332,7 @@ if test "x$support_boehm" = "xyes"; then
                        gc_msg="none"
                        ;;
                *)
-                       AC_MSG_ERROR([Invalid argument to --with-gc.])
+                       AC_MSG_ERROR([Invalid argument to --with-libgc.])
                        ;;
        esac
 
@@ -4227,7 +4227,7 @@ AC_SUBST(mono_build_root)
 mono_runtime=mono/mini/mono
 AC_SUBST(mono_runtime)
 
-CSC_LOCATION=`cd $srcdir && pwd`/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.2.0.0/tools/csc.exe
+CSC_LOCATION=`cd $srcdir && pwd`/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.2.1.0/tools/csc.exe
 
 if test $csc_compiler = mcs; then
   CSC=$mcs_topdir/class/lib/build/mcs.exe
diff --git a/external/Lucene.Net.Light b/external/Lucene.Net.Light
deleted file mode 160000 (submodule)
index 85978b7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 85978b7eb94738f516824341213d5e94060f5284
diff --git a/external/api-doc-tools b/external/api-doc-tools
new file mode 160000 (submodule)
index 0000000..d03e819
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit d03e819838c6241f92f90655cb448cc47c9e8791
index 5f93431f2d699e9b090a5a14db5941a18b1e171b..0b523fa7e0f2f83cc67e4c19f1f769e68d717562 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 5f93431f2d699e9b090a5a14db5941a18b1e171b
+Subproject commit 0b523fa7e0f2f83cc67e4c19f1f769e68d717562
index 9d582e202a32faa9e87a2d35994ed22bd58f328f..a84847cb307985f2a0cfcdf124d68ec0626704b7 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 9d582e202a32faa9e87a2d35994ed22bd58f328f
+Subproject commit a84847cb307985f2a0cfcdf124d68ec0626704b7
index 04bdab55d8de9edcf628694cfd2001561e8f8e60..8d307472ea214f2b59636431f771894dbcba7258 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 04bdab55d8de9edcf628694cfd2001561e8f8e60
+Subproject commit 8d307472ea214f2b59636431f771894dbcba7258
index 0d4198b1299bcb019973749da4d47e90f15a1e46..1e3dfe1003050e8887691e87474e938b6beef16e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0d4198b1299bcb019973749da4d47e90f15a1e46
+Subproject commit 1e3dfe1003050e8887691e87474e938b6beef16e
index b2870bf58c8bf3fc0215836e2d3358298fe64de8..9382401ab52712ef6e9ee7b836858e047a07233a 100644 (file)
@@ -298,6 +298,8 @@ endif
 
 $(the_lib): $(the_libdir)/.stamp
 
+ifndef NO_BUILD
+
 $(build_lib): $(response) $(sn) $(BUILT_SOURCES) $(build_libdir:=/.stamp) $(GEN_RESOURCE_DEPS)
        $(LIBRARY_COMPILE) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) $(GEN_RESOURCE_FLAGS) -target:library -out:$@ $(BUILT_SOURCES_cmdline) @$(response)
 ifdef RESOURCE_STRINGS_FILES
@@ -313,6 +315,8 @@ $(the_lib): $(build_lib)
        $(Q) test ! -f $(build_lib:.dll=.pdb) || mv $(build_lib:.dll=.pdb) $(the_lib:.dll=.pdb)
 endif
 
+endif
+
 library_CLEAN_FILES += $(PROFILE)_aot.log
 
 ifdef PLATFORM_AOT_SUFFIX
@@ -355,7 +359,10 @@ endif
 ## Include corcompare stuff
 include $(topdir)/build/corcompare.make
 
+ifndef NO_BUILD
 all-local: $(makefrag) $(test_makefrag) $(btest_makefrag)
+endif
+
 ifneq ($(response),$(sourcefile))
 $(response): $(topdir)/build/library.make $(depsdir)/.stamp
 endif
index b5350c6918f5a7793d4410ebc9893ee3e6aab15f..a63c7a29e951fbd05b75728a00f2756f5ea68ea8 100644 (file)
@@ -11,7 +11,7 @@ profile-check:
        @:
 
 DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll
-PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
+PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
 
 FRAMEWORK_VERSION = 4.5
 XBUILD_VERSION = 4.0
index 73851e183ad7288fa3e87880b645ee38da4463a6..fbc8d3592f30b2d7e2125b837e70370a58bb8215 100644 (file)
@@ -1,6 +1,6 @@
 include $(topdir)/build/profiles/net_4_x.make
 
-PROFILE_MCS_FLAGS += \
+PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS) \
        -d:FEATURE_INTERCEPTABLE_THREADPOOL_CALLBACK \
        -d:NO_SYSTEM_DRAWING_DEPENDENCY \
        -d:NO_WINFORMS_DEPENDENCY \
index 45c77ebda49466d3a905a36e3f06f97e4e9d80cd..0d01b5429ce4239f7bdfa0f5d4573c674fa73acc 100644 (file)
@@ -55,16 +55,18 @@ tests_CLEAN_FILES += $(ASSEMBLY:$(ASSEMBLY_EXT)=_test*.dll) $(ASSEMBLY:$(ASSEMBL
 
 xtest_sourcefile = $(PROFILE)_$(ASSEMBLY:$(ASSEMBLY_EXT)=_xtest.dll.sources)
 
-ifeq ($(wildcard $(xtest_sourcefile)),)
-xtest_sourcefile = $(ASSEMBLY:$(ASSEMBLY_EXT)=_xtest.dll.sources)
-endif
 
 xunit_test_lib = $(PROFILE)_$(ASSEMBLY:$(ASSEMBLY_EXT)=_xunit-test.dll)
 
-xtest_response = $(depsdir)/$(xtest_lib).response
-xtest_makefrag = $(depsdir)/$(xtest_lib).makefrag
+xtest_response = $(depsdir)/$(xunit_test_lib).response
+xtest_makefrag = $(depsdir)/$(xunit_test_lib).makefrag
 xtest_flags = -r:$(the_assembly) $(xunit_libs_ref) $(XTEST_MCS_FLAGS) $(XTEST_LIB_MCS_FLAGS)
 
+ifeq ($(wildcard $(xtest_sourcefile)),)
+xtest_sourcefile = $(ASSEMBLY:$(ASSEMBLY_EXT)=_xtest.dll.sources)
+tests_CLEAN_FILES += $(xunit_test_lib) $(xtest_response) $(xtest_makefrag)
+endif
+
 ifndef HAVE_CS_TESTS
 HAVE_CS_TESTS := $(wildcard $(test_sourcefile))
 endif
index fd221399b4f1ae8abaa03b0f90f647fc75db03f7..a89d8143812c1b42a1bbbd6ef35a58a2e844b80b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 48b88be043100e082fb91c1d14d75ac3634ee646..34a588859f53c4a07b12a30e93c8a333761e2796 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c6c6e1d98a9fc447a4065a76b1e6ee7464391b5b..f14a0f64a716ef8317e345bb0b3b08d5cd5133ae 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0a696e99327aa2537eb4babf37c61e7e128116d1..5fad3892796b17fb41d4fff027b6b9dec15918fc 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0f986fa7edb4048707be71355f2522d75a0b66b2..dfdd6e51294158c3b8b0aa1dc85891cf0052cd0b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e728ab3b6bee47b21fbd1d1e99a1b61831e9510d..64deb2b93869871f94d6aba65456631a98b3bd09 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d03223da7a808d01e464c184fe0ec88d95824740..2a6ca08d6bd7d9c6f7af73e22e917080eb6bb75f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5fbdffac13f30825ca232229a695852a80403d4a..004e221444bc3919dbce9baaac578b1ab37640e0 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 94e3fb7b845d062f37b123391fa10302cf15c023..6be187fd8faf4f176cb4b9b14824a313b0278550 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7b85c3e62d18c19664cdf87fa9c948a957b0e658..674822730492aeab1d90d722eba2e2303c4db057 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0139b9bd847eb5301fbf7313979a763c8270e9a9..488b07377fe6cce1c1f550ff56cebb39ed2571f6 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d4036639e3535735585015f5f0bca8df08d136a4..c38bc78d6273400b89955bf09b7f7bbea59dd352 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7db7b11f3e4f10362c6be5bbf629ceeabe079555..c24d0a8ef44753f31ae9d10e7ce851a05812434f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 86495ec6ef9dbe173ad6e6b4155f439d3ec5226c..1ca5cd352c3390cce9a252c16889b270b7ad25b5 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5bf4348f4083c8a5b4377266a6cd55aa691bc603..2f5ae32bc5f73dd09cb478d04f1b7a527e3dbd5d 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2d45acd839da16a9e8ad84943f1c70ca585f12b3..68c77706ec6bad0c76b04c3c92ad68695f858063 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5585d94392fd0cdec1f3c62a2f70f7c46b38ebb8..37dceddb6856e301f484977032005d765ed62499 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bf1049017bb997203a67f0f3a32a2f0e18c53c3c..3f319168f65a563a58922b79f7ae4fa1b39635ab 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d7cb0664af28b29569e5bf92f7931e030b8fb4eb..ff454640198b5f8b90b691b1585e991c85f26237 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e72948c72a5acfb157d3c4e330f50eb69c95e9e4..1b1d3874e62ff673860c784ca770564cda0f9ae3 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6f07c8ed41387e0e42e93967905e1008d452fed8..f9fc30dd5aff3cf67e2937ed32a1417d94abea3e 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 68967b4623c7f86b2345369ed82e5c1b583e0541..5d25b1d51c0496871e1128e67f852ad406f3e492 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index de0bde861a23ef7c36ae675997208bf47eb3bed2..82e6bcf511a396010f55449c3b9291a453ce211e 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c7190e6c42f9e2556b26c9c83968b25771398d98..aea80324732e1066b524e07c59c035231d35ea5a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8023d49f5d4b25b34601736d31b56e83610eb2a6..cb7ceff0a628304042c8eb0b3b9d7eebd17d2cf4 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0bf8f79ed4c01a5439b0b993d9d4583e11ad308e..a9344fd6d908edd55a015f87b25829a4f1a79dce 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5f110019debf0cea97ea765912bd8623d290be50..2eb477411d898af2bc2acb63c09da37c9a7df59d 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 711bbc3b229c8baa1196409baaf98504652e3819..eedd8d3f1b5e9975c4a9ca2160d599ac17e5dbf6 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 73d07be051df81a325a482f7ae81b4bd45fdc9ae..3e14d96ab5455365e0d76a3c2a48a27e8320052c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3e15f1748876e6bd3d8146698cd5f8d71a8f7e75..c6a74b21cfbb5b7f35e2b55f14c588cc95c2e6dc 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2b4548a61cd12a61cdfdfc216bcf9d7378307c32..1ce6eba7c33d67d643e36afef4272efa6f19f979 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e4f7cb1d836064b3e31f76213cf2657f3456550c..71f2e2b7c4b6bfef4ee14c8b4db1fd3d44854411 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 96fbeaa2731bcf24095e1a3f31b76a86ab91dece..344a0be57e7fd99485ac5b5c5a197e76bad7030c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 84edae66afc1c9cd72154e601dec4b1abb0bf1cf..94aa368c9058826a59bcb879f9352f6fa67a7ad8 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7bffad4ac7a85df0581075c6b66f9ba89d445a75..6743bc09f4a22fc2fd46b24afa47e04be71dd258 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7174faab98b6f923d06e3c75ffe9f89c6e549625..6ea6b8e04c979021966d5927506fdea5820a1f33 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1e1198e6fa03e3619be75381e255408436659776..4f2fcc0768a17f9a31939e9b7e575ae64ca2e22b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0ad0ed1ed740ace811e78ab4493d997b7bbe88dc..dec0d7c14576a601fac1f9de5e6e37d8255ec0a4 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 75f4a5c3af7be2a8750e178005c8673fb09a7322..2c537bed7d656eb66791b14f6fcc29e0c57e1f79 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index debfb50b98e82fd9e5f2e668b62d6beb450e05e1..fafa6041e567e04ba8e4a94a7927d9b0c711371a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 86de8ebe7bcdcebe63017b3da46b65e0d1c6dd36..8258fe15f4b8dd000cc1906917e15d937d5248f8 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bba51cf28def4600cd4378f6a93fece658e1cd95..a210d33c68c25cd92d6b6f4ba5d4def5e94330fa 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 807bc7bd1b6c5ea9c4860c154c3d638a034b6ba8..51ee564603c3cf8d50d00a507c70746f89571ec3 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 21b7deedaff856bb07d8282b880d9cad6660e715..7a7b38ae59b8cdf4b37adcf0c42c89259c4c431a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3196270a43659cb798bc416c4bdebc04af546934..ca6cd3c79274868475805d1e3429ed7bc00905c2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8112200bfc14ebae5dff208d2462043750fee9e1..18743492350a1161189b563a27c7429efa40227c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c92778397447b96a0d800438b336e831523f09da..132108b9640378fac5db32027823117683ebee1f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6655eab217a996e3ab018e7c491f8c86e869bd07..dfad598d73e9dd0301bcb5e3ec1215a07acdfd3f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index de3dfb1d69fe8d2bd8370c9a6da4c5e74e81d571..28d28e770629985a6dbc18de35441f2b8b99a419 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 252acf66dfe2f7160e2e2a51c7bc59d316660aec..774d9582bbee1327e4a2e9f12ffbf62dbcfd167a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3a4a2a5827b86d56e0e3ffd7f655bb648d6987be..f7402e84077f608edb4f0ebeebb784a8ea7453c8 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 476d6bd4734ac8f9136ed9dff5b81fe8c164b2e5..400ecbc6138c9b3810f07fc8f313cd7e946fee36 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 19a14774883f0225c596bb25e84dec86c8a49bdb..85667769236ddddbc9c5b697ac53ba09b21476bc 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 171f55ec7f3e106a0a7d1e91708f07f7fdd98c9b..61f18a3e28874353a7558840837226d939caf869 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 50e8e0d50a08f77b07e1c7854da19c8c51f1f132..e1c3218235dc2a388729be2a5d63f18847eb1644 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3cd38f1ac2890da92cb13e2388afbc64e70bf925..6349a592e5e9ae83bf064c776a1de4400322c454 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7ef5d8a92a66769edc8dbcc3be3df16dae6ae9db..8b13afa7655bbfad343a7d0d9acf1fa7e88f0d43 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7395951b47759f1e7d72a4303b8ee820b869aa49..df1d534a9d67880e92f3fc09c68214b2addbd7de 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 085c43d768aa4b8191fff6cd7a66ffadea221d17..d550b63b9c05d26f728ad0a2d347ef61c9182c4b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7e1aec5cdbc291c56f7ade7f413bc3935e0e3dac..ad513e3a2819b4a976591996338f163979eae86c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index f4b40ff7efb562fe4be68df9a1ab71df5bf5961e..38b5971f8e08f1c876a640b75fc1a87e6e0a7a2c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3e8cfe72934f544b9d4e36b634ef2146a01bd3d5..572c84d81e3423525e9793ec961d5394724e33eb 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 018159f693dce7dc677f7cee52d2331c3ce1bfbe..69421ecba519bd42bb7495f7894022c128be0ffd 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6651717a1f4f6ac0a5c8de94bf8c06792617ca95..76914151d26355136050445f4431348134595356 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1fd05626f2c1427b0416cf3ee438d6e12598aea9..fe4ac506535d93099f2453d48339cb3f09f16414 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5cbea78a42f4cb8f22ea50c0561be42504b2f1b1..2e3834af7dd40cb4137f458152035c8ab68ca3db 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 149fea9d6b47124a3d3eca1e7418519fadce21db..414c011c60f64e547ed165cdc7c2fe2e0ba9114d 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 72fd0a488e4b38528f95588fd11218c18851da07..b208945677a01c14c071552850298a67f18258f0 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9130c9e3735f05d24d09640e06fe7206176c2cd7..ed8254c401100b50f578814019db1f8a77ef990e 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e14eb089c2798d4433ced40dd3013757f2f6b86f..6de8bfa606615bde9f61485a0bdc84cb9c0025e5 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 703795e2ea4579252dbbc156b83a87feba3edcbc..115cc31320927e8bb48e8202a5bc6c3f8360a7b2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cdee9d8978dc496c68149403864961706bde05a4..4a9fa29cb66953d5f1ee33229a94bbaa80df7cca 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index fcf5ab6b0b3d836258aa3b031328406ef4a913a0..c119bfa86c980850880e3daaed284da388c6b953 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index eef442d898deb49cf683e38a043b3360b9ccab35..04c460b04671d3010dfa5520f172e675d2ab849a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5f84ea426b84ed16673a965d73fe6756fd6ffac3..108ecc7d3fa3445b06511ac761cf17c4c84cc7db 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c90090b4e7ce52c74c0acd805696c79fe048c81a..ab838b7f186d79ca7ee9224d33ee8d84f9ea5c9b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9539a89ae5bef261ec9dc728ccd2d44286ce1887..539bb837668fe63870de7048f3345958bb73ffeb 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index f40830292c6a6f3ae7e4bf512743bbba5d590c78..4e3013fd1fbc557c99695316250af0459e428051 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8d4a409e8b6240cc8bc3b1948385151ff785a86e..db54b6e32fa4b31f11a84735cacc1d0d2d6bff80 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 932f862a6cea308a5cd61c9431bda3dfc516ed40..c03f30fdd9f12d52a22bcb13f9900d3b2b18c0cd 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 13241b75b4c6016391d59416b85ee23cc69d54a1..4cafb05ea44d8f0244394f1621bdcccd5a0a63ec 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 54a91fc85778273e87c9bfa915167b376e82cac8..c7a078647a4a403d643ac90eb07efcc8a502e77a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2828c2b519691d4d98b7c8f207753e1aa034889c..b8bce8c08824333a1d614854d110a36cfc294d36 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0a5d507e7451ca11c5ad2e286f51b490b7521ee3..6f12762a084189d1f43b17d13eac54c044bfee7b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 278c40f9ed2996a826f08b9ce92ce9799e90ec6a..f96d9463ded3b3e5a24f0ce63c07b612e90b5c5f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e98f79e69b2ecca7a932a8d49b8450fcf7868364..1c53ec7096de5320ad8e15cfb3d29e031790bf97 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b74d68f392f5d08c1c1497853c3c7887b801fdee..08c4615c991586b3e906bfba60f09206bc5fbcdf 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0f4738319e1392b07e5a8fc14750ca2694b4feb1..f833e15be8c0dbbf6757c6866b02bf40d1f2833b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bfb254f69e8ea50a10578ec6df8e38ac0f52bdbc..b95a98298d0054086898b59bd6726ab6c9f63fbf 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8f13c5853fc0454bd1dc6f2623c79b44350a1b58..9e5162f181e67237e41312dee8fc2eebf4b20e14 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 23c76a7983e58564ec2e4fbed0ca7a5f58ead6dc..3ad09ebb21f28a34193c9dc2c7ebcb14e44eb2b6 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d1779a938601bd1f8f8ee11ae255a9ddeb9ac4bd..a72322415d6d5eeeb0067b3639d947504af283be 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a1c783ceb13ae9bc11081a277ddb92ce28228221..75d2a8aa30d97d88cafa2cd727a9ff7dee4c0a64 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3d82ca223cbfc77e4a8330ec018a83dddfb571a6..990d48cef6e33738e64e638d8b2f32d4ec082132 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index eb496561a0b7e078b89da577faaf1394ebf979a3..a3b6e5c41bdc08a09c9ad9cab9e62d315c3f9612 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d6ff1552992d9678041da1e9a8b88f3d266ac214..2ae1af18a02fbcc28cc14a8d94feafe655784339 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 70cfd1784b562b8946dd15ee272ba25ea8fcd759..cf6fdf5e25127644b888eb55a9e3713cb12b1af5 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bb036447e85440d84cf9b7dedd7514f46be8cb24..c44e29551f5baf2b33ec801cf7ff837b2b790a26 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b889088a62cf2d4e6135e0c52d86f8041db7d2d1..de8e5c298be6cded7eabfa7abeffe555a7acc4bd 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 43b8bf706a2d5ab8d0b127d5e41bcf6adc349eba..610c83ac1f514e6225216b137cfe72e4fea32599 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 270f5b75f16685fbc78f20cf8a30b15102b0b4dc..867d8aee6858805622a1fedab973c7899e1083c2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ae4b0551baea67bc979f5cb78b0cce5852f3f0e0..b4cbc3f3fe93ba30f793cfc2cc27de77c28da692 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a47887a8fbf0642dec7fec8b2072ef4a70443b6e..24203d812ef3d082d150e640ffd6462f8661f696 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 128db04c4bedd31f1cc9916c9dd8d3a1c628fc20..16634168cfd6c4c8aa1b1f6346b34debadc98d7f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 363b92da6ae4ee2c5a9c71b7f9890a0f63fdce36..1d6137cb6ad046b50c0018b98ef4f929c394f5d9 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d27ee7f605500b46788c0546594aaf96901663ee..9dd98cf70878af77c90899ccd9ef6dd8a5e66918 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 57b0ad3ff71378a74fe9f41cc52b56a8bce593b8..67500f4dfdbfa7632b783f86e00808148207e30e 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index f7c6c430ecf74d00e8976fa95513b8265e09978b..7e1de80dd7a5c5df7da6286ae903024a73ce4629 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e7cca6e238026b1bd42e4272171061611f95ec46..3e34aaf400b6a2d6a0609e2433f323c9cb2140a2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 070a3608c17acc1a0c74dec295fe9befaedb7713..a9466ff6014846e3e1a857fe4d9764392d170e22 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a79c56c2d5faee397dbdae1f740d95149dc22f5c..3606386e9f0bf42e335e0123da23c512f840db62 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1cd77eacd7f6b19b627f30fc765583dc2ec6347c..f8811bef2759391b2b2c8790d6445740d97ec33c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9d5d2c082e1924ca7e14135f545eac98bc5b7119..074dace38eeec8f80cdf5d36b81a3d1f75666352 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 24f19287af93d7afe6554b82dec9679fd2825679..e315497957e5775354a97d05ffd03a75ea0a253d 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 91aa53608c81e524894ae7bc566a6a2acb4f4e7a..0bba121d612fea1d12ae4aaf9f500c6ef1dbec33 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0c445e053c29c58fbf2513a66dc9858504576b55..fa22119d637244332a4e1a285c6745892a17f871 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cdbf099ff111e58b8623974883de6608508fc941..57f9afb53a375ec07506dee6cd5e70ea4176b3ef 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 39f7dadaba2b651fd09c42a0549759320b9596bd..4140c653ae981812bc22035c4753ebc505a6a539 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bc68d0622f33d47141c72b6ac57293f4f42ab733..28c8b98a2dadc380c06510748410dec4df30f591 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9dbe04cf29f88e0a1def2593733b2ce89fffb809..8aaadebe489bcab5803d8c3a71add12f8fb7ccf2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1cfca01dd379c4d495d73de5ac27e72a766ccba1..f7e7553f42febc806b65ebad329d17668853edc1 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b2caef672c94777c44f1e3e355fa96ef38d0feb4..862d8697f5c77d2fb289ef864d49cc5530dc285b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 086fbad7282444aaa61e9a84a3f48ca13fdd688e..556db98072217e4a64e95e9bcca307125f7404e2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a5638ed252f0fbaa4b64ad8df7c64ab9fc9bd262..04922f905bfa16db1b6cc73bff6b00a2efa7e567 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 33774c92fdf90e3edc75033813640ef1d67f776d..f146eb6d9de696dba37b3a40d4177134562e80fa 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2dc9c4b2fa27c7d9241649e6f56b6255bc0ef3b3..566d2614ff1a64eeb3f62559fa013af36d614931 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7dd19a8bf0ca9f49dfc514989fc3ce21947f3a2f..12221fbcda81b035615326f58138d2744dcd8479 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5992134879b4ca0873a990efd77a39f4738ec813..1f5da242c7ed43103c640eb68410a44e7946699a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ba4e450ad2401c71661fe3e28334f2feae0135ea..54532c6194eeb18b63914be3199d8ea65dbfdeb8 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c42dc69c01a98e413c2509b376ef293cc266b918..d2a7c03131ca9d1b2e609bd56e33ef537b57c3c1 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8605826e178ff6c087e39a03ac6f7ccb85aeb12a..e9a2ced5c9b9834dc7f53ac059609c8bfb700fb9 100644 (file)
     <DelaySign>true</DelaySign>\r
   </PropertyGroup>\r
   <PropertyGroup>\r
-    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+    <AssemblyOriginatorKeyFile>../../Open.snk</AssemblyOriginatorKeyFile>\r
   </PropertyGroup>\r
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
     <DebugSymbols>true</DebugSymbols>\r
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1616,1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1616,1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index de1b5cbccf5ea43ed2442d81691fe7dddc621216..d004563039cd0bdbf712c96a0a256f62666942d4 100644 (file)
@@ -9,7 +9,8 @@ LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION)/Facades
 
 LIBRARY = netstandard.dll
 
-KEY_FILE = ../../msfinal.pub
+KEY_FILE = ../../Open.snk
+LIBRARY_SNK = $(KEY_FILE)
 SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699 /nowarn:618
 LIB_REFS = System System.Xml System.Xml.Linq System.Runtime.Serialization System.Core System.Numerics System.Numerics.Vectors System.Net.Http System.Transactions \
 System.IO.Compression System.Data System.ComponentModel.Composition System.IO.Compression.FileSystem System.Runtime.InteropServices.RuntimeInformation \
index 017b6202d631fb18b78494e5918f9b83ba3607b9..bfbac3c1d593b0451ce6c858c32830f458b229ac 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 278fd51f7ef54cc089940ac6856508c0bc10535a..d18bebbf9a4daf70029cd6b67c1325c5021aafd3 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>DISABLE_UNSAFE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 793732fa7cfa6151c7cd42338d712d16ffbc9dca..c784288775ca25ea144e6daade914ee9d56e8c88 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index eabe6115f1f06b6e97e238a6c7632010c07b5f82..12558334d59fcb28b3d92b8d3619d7e1e10badfb 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9e2104c6baff7fab988990a456911d1a68421007..f47101975533747c6850047e265332303c6fe55c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e2dc1f77714cf19b7a763c1f483e586d9ffb4d12..d42bcb592c1c80fcad1fb2855f2c40f6f3b8aa90 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 45b84b40fd92cf66639a8ad379654a9e245ede0b..d0302c1fab3c00c31e2473fa212cbfccf89fc2cb 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 73b2b5499b3b25fc88e877826d315753ae726cc8..2d8da0ef4c50be5f875bcf9de3a20edd498ce83b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 46bdc5c9c9794bf39108f032f18c99361691b67e..8627bbf317939b86a7092911912939200e227157 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 347c977d49fda322a5c1c266603d81eb567aedae..d3dc6c7e922f633e3283af3160951cafb88ea9f3 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ca5a66161066d391a9a458b9eb10b04d94118c29..926511155366cc834ab06ecf76e492c98ad97885 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ac4b41052ca4c7e42c5ec66bb60ef142626c3f15..43177e01c0bf0aa141b43939b04dc7934d3ab1b1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 472d7267986e13300b6dab148d6129f6770f396d..da492d9d2c48f5daef4efeff23fcb807153b0ae6 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MICROSOFT_BUILD_DLL</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MICROSOFT_BUILD_DLL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MICROSOFT_BUILD_DLL</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MICROSOFT_BUILD_DLL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e764b1041be993c46e568bc00db84e8e3859eae4..7082da4ac4e8640e3d77c643d49364e775f7b5b8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d7439fb7ba55c6089017759bf2b6dd73e2580b36..219a1b45f78fe148440465d32046930b4fdf5b39 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 4607bebc0ed2a3313698895df8ab1a9f8c16f5dd..45c168d4a34175ab3fe541d6ff58f903887e2c42 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d0dad03159af29a0ac2070c20cf47755309387c3..8c2860172ff87ddb427cf2b11a2416572b453ed4 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1030</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SECURITY_DEP</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SECURITY_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1030</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SECURITY_DEP</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SECURITY_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 4a542324d6e09dc2e0d6b89b7b2e13e4e46a3c7f..ef4a5827827bbb610d214d7548cdd49782b1d334 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a7fc7f5f617a638380576a6d1232dac58b0d4565..23dd07576880a6ef1cbf95884637df424d4e4dc7 100644 (file)
@@ -1,2 +1 @@
-*.suo
-cs-parser.cs
+*-parser.cs
index 6fab6abe3ae363eabf1d395eb5a507ae67c01218..75c6a5309434019e186f6fb5af9e838bdedf4423 100644 (file)
@@ -20,9 +20,10 @@ TEST_LIB_REFS = System.Core
 
 LIB_MCS_FLAGS += $(REFERENCE_SOURCES_FLAGS)
 
-include ../../build/library.make
+BUILT_SOURCES = $(PROFILE)-parser.cs
+
+$(PROFILE)-parser.cs: $(topdir)/mcs/cs-parser.jay $(topdir)/jay/skeleton.cs
+       $(topdir)/jay/jay -c < $(topdir)/jay/skeleton.cs $< > $(PROFILE)-jay-tmp.out && mv $(PROFILE)-jay-tmp.out $@
 
-$(topdir)/mcs/cs-parser.cs:
-       $(MAKE) -C $(topdir)/mcs cs-parser.cs
+include ../../build/library.make
 
-$(the_lib): $(topdir)/mcs/cs-parser.cs
index bcf9c8dc840837d91b897beb213bcc4e2b3e9ee0..5adb02f190ddac65b138cdf84e6ceddd1ac68613 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_FEATURE_THREAD_ABORT</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_FEATURE_THREAD_ABORT</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_FEATURE_THREAD_ABORT</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_FEATURE_THREAD_ABORT</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -68,7 +68,6 @@
     <Compile Include="..\..\mcs\constant.cs" />\r
     <Compile Include="..\..\mcs\context.cs" />\r
     <Compile Include="..\..\mcs\convert.cs" />\r
-    <Compile Include="..\..\mcs\cs-parser.cs" />\r
     <Compile Include="..\..\mcs\cs-tokenizer.cs" />\r
     <Compile Include="..\..\mcs\decl.cs" />\r
     <Compile Include="..\..\mcs\delegate.cs" />\r
     <Compile Include="..\..\mcs\visit.cs" />\r
     <Compile Include="..\..\tools\monop\outline.cs" />\r
     <Compile Include="aot.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r  </ItemGroup>\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="net_4_x-parser.cs" />\r  </ItemGroup>\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
index 2bd1a5a5f4197764209bc897f79422b68546c904..041691b10992886422544d76b6ae350233a42e80 100644 (file)
@@ -56,4 +56,3 @@ aot.cs
 ../../class/Mono.Security/Mono.Security.Cryptography/CryptoConvert.cs
 ../../build/common/Consts.cs
 ../../tools/monop/outline.cs
-../../mcs/cs-parser.cs
index 96bd5f8e9c1213025043db5e0b7bd759846307c5..efc1e8653dce2452e89394b8c497870cdfba6d1d 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d2ed9a93716c1a2c46f3f7f5c49e34f85df0d22f..3c957e7a277ef33a59f0b3ed513bc5a34f490282 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CECIL</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CECIL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CECIL</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CECIL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5589b9bcbb1c5159903b9d1765d2fa9d3ffb6abb..8ac16535ecca551a942cae937a82d590216de232 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_4_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_4_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_4_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_4_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b6d1fa590309c6ee108ca8be647cd62817ee97e7..d423caf8f7c5059ebe73bba4a1a8c34c91e0afa2 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c9f05a89b4b3e51e6806b035ec654afd70d74be3..b2b2f20e756fdfc91e37c27a4e2c99b868c59a56 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1254cc06180862a58c1fb7de7a685d97bb642411..4b865fff08903c9abd62baa5d5c266aa3d47e59d 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SQLITE_STANDARD</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SQLITE_STANDARD</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SQLITE_STANDARD</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SQLITE_STANDARD</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 961184bb0d7febfc94023cb7fd00418941927d9f..1e4e46083700282478bdf06024aa63a2c7a41666 100644 (file)
@@ -1555,8 +1555,10 @@ namespace Mono.Data.Sqlite
                       while (rdIndexes.Read())\r
                       {\r
                         if (rdIndexes.IsDBNull(4) == false)\r
+                        {\r
                           row["INDEX_DEFINITION"] = rdIndexes.GetString(4);\r
-                        break;\r
+                          break;\r
+                        }\r
                       }\r
                     }\r
 \r
index f1b7b066fb03a026a2ef19c74e7f0ec8a8c8eb38..0b36e7aee6d20ce172aa09e63acf17018a366c3b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d54235f6fbaed4676dacf175166dd64147e5652a..82f953be77ddd1671c60446cc19c53210d703ff1 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a5df610f32ac5e3d509128a7cd47a5014d41c749..5fb1b2d3166427dff5b6ce659bdecebd38e51924 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 59ea8b4165aed1923d69751c7bc168c64212678a..25dbdea501c72ad191bad0be29e679d35625c243 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9f366d528ef64613b7a34f33bd61b107547cedc3..b962ddf15725cf5a6cf50fa8495d0fdc0c39e49c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0601c5d3a8eb5288e2ddc495083842e026d4e438..0a9eccf6f5ab48d4a6b785a81e3b8759c64beb94 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5d82495a052aed4ee55242f52f8d4bfc3f3c9b12..9122d7f71923524a0671eb75e59e835fd95b66ec 100644 (file)
@@ -250,8 +250,8 @@ commands: Use `commands help` for usage.
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CommandSet (string suite, Converter&lt;string,string&gt; localizer = null, System.IO.TextWriter output = null, System.IO.TextWriter error = null);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string suite, class System.Converter`2&lt;string, string&gt; localizer, class System.IO.TextWriter output, class System.IO.TextWriter error) cil managed" />
+      <MemberSignature Language="C#" Value="public CommandSet (string suite, Converter&lt;string,string&gt; localizer = null);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string suite, class System.Converter`2&lt;string, string&gt; localizer) cil managed" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo>
         <AssemblyVersion>0.2.3.0</AssemblyVersion>
@@ -259,8 +259,6 @@ commands: Use `commands help` for usage.
       <Parameters>
         <Parameter Name="suite" Type="System.String" />
         <Parameter Name="localizer" Type="System.Converter&lt;System.String,System.String&gt;" />
-        <Parameter Name="output" Type="System.IO.TextWriter" />
-        <Parameter Name="error" Type="System.IO.TextWriter" />
       </Parameters>
       <Docs>
         <param name="suite">
@@ -272,15 +270,57 @@ commands: Use `commands help` for usage.
           instance that will be used to translate strings.
           If <see langword="null" />, then no localization is performed.
         </param>
+        <summary>
+          Creates and initializes a new <c>CommandSet</c> instance.
+        </summary>
+        <remarks>
+          <para>
+            This constructor initializes
+            the <see cref="P:Mono.Options.CommandSet.Suite" /> property
+            of the new instance using <paramref name="suite" />,
+            the <see cref="P:Mono.Options.CommandSet.MessageLocalizer" /> property
+            of the new instance using <paramref name="localizer" />,
+            the <see cref="P:Mono.Options.CommandSet.Out" /> property
+            to <see cref="P:System.Console.Out" />, and
+            the <see cref="P:Mono.Options.CommandSet.Error" /> property
+            to <see cref="P:System.Console.Error" />.
+          </para>
+        </remarks>
+        <exception cref="T:System.ArgumentNullException">
+          <paramref name="suite" /> is <see langword="null" />.
+        </exception>
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public CommandSet (string suite, System.IO.TextWriter output, System.IO.TextWriter error, Converter&lt;string,string&gt; localizer = null);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string suite, class System.IO.TextWriter output, class System.IO.TextWriter error, class System.Converter`2&lt;string, string&gt; localizer) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <AssemblyInfo>
+        <AssemblyVersion>0.2.3.0</AssemblyVersion>
+      </AssemblyInfo>
+      <Parameters>
+        <Parameter Name="suite" Type="System.String" />
+        <Parameter Name="output" Type="System.IO.TextWriter" />
+        <Parameter Name="error" Type="System.IO.TextWriter" />
+        <Parameter Name="localizer" Type="System.Converter&lt;System.String,System.String&gt;" />
+      </Parameters>
+      <Docs>
+        <param name="suite">
+          A <see cref="T:System.String" /> containing the name of the suite.
+          This value is used in default <c>help</c> text output.
+        </param>
         <param name="output">
           A <see cref="T:System.IO.TextWriter" /> where output messages will be
-          written to. If <see langword="null" />, then the
-          <see cref="P:System.Console.Out" /> property will be used.
+          written to.
         </param>
         <param name="error">
           A <see cref="T:System.IO.TextWriter" /> where error messages will be
-          written to. If <see langword="null" />, then the
-          <see cref="P:System.Console.Error" /> property will be used.
+          written to.
+        </param>
+        <param name="localizer">
+          A <see cref="T:System.Converter{System.String,System.String}" />
+          instance that will be used to translate strings.
+          If <see langword="null" />, then no localization is performed.
         </param>
         <summary>
           Creates and initializes a new <c>CommandSet</c> instance.
@@ -301,6 +341,12 @@ commands: Use `commands help` for usage.
         <exception cref="T:System.ArgumentNullException">
           <paramref name="suite" /> is <see langword="null" />.
         </exception>
+        <exception cref="T:System.ArgumentNullException">
+          <paramref name="output" /> is <see langword="null" />.
+        </exception>
+        <exception cref="T:System.ArgumentNullException">
+          <paramref name="error" /> is <see langword="null" />.
+        </exception>
       </Docs>
     </Member>
     <Member MemberName="Add">
index a7efaccc465d5a504da599808d2f466a97296ccf..2f90a7d766cf22a61b69d640c9d1badeb7eee764 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 029bcb87dded329d093d7a039a36dc82472efb71..0d93439c3b6d1e6c2ec3444a5b4fff4db10110ab 100644 (file)
@@ -162,10 +162,10 @@ using System.Collections.ObjectModel;
 using System.ComponentModel;
 using System.Globalization;
 using System.IO;
-using System.Runtime.Serialization;
 #if PCL
 using System.Reflection;
 #else
+using System.Runtime.Serialization;
 using System.Security.Permissions;
 #endif
 using System.Text;
@@ -634,7 +634,7 @@ namespace Mono.Options
                public abstract string Description { get; }
                public abstract bool GetArguments (string value, out IEnumerable<string> replacement);
 
-#if !PCL
+#if !PCL || NETSTANDARD1_3
                public static IEnumerable<string> GetArgumentsFromFile (string file)
                {
                        return GetArguments (File.OpenText (file), true);
@@ -690,7 +690,7 @@ namespace Mono.Options
                }
        }
 
-#if !PCL
+#if !PCL || NETSTANDARD1_3
        public class ResponseFileSource : ArgumentSource {
 
                public override string[] GetNames ()
@@ -1586,14 +1586,26 @@ namespace Mono.Options
 
                internal    OptionSet       Options     => options;
 
-               public CommandSet (string suite, MessageLocalizerConverter localizer = null, TextWriter output = null, TextWriter error = null)
+#if !PCL || NETSTANDARD1_3
+               public CommandSet(string suite, MessageLocalizerConverter localizer = null)
+                       : this(suite, Console.Out, Console.Error, localizer)
+               {
+               }
+#endif
+               
+               public CommandSet (string suite, TextWriter output, TextWriter error, MessageLocalizerConverter localizer = null)
                {
                        if (suite == null)
                                throw new ArgumentNullException (nameof (suite));
+                       if (output == null)
+                               throw new ArgumentNullException (nameof (output));
+                       if (error == null)
+                               throw new ArgumentNullException (nameof (error));
+
                        this.suite  = suite;
                        options     = new CommandOptionSet (this, localizer);
-                       outWriter   = output    ?? Console.Out;
-                       errorWriter = error     ?? Console.Error;
+                       outWriter   = output;
+                       errorWriter = error;
                }
 
                public  string                          Suite               => suite;
index 63fd3801afe88ca3bad81d35597176394bd5d64d..6cd87f2076497788f94da58975c5bcd48ea5cc67 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;INSIDE_MONO_PARALLEL</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;INSIDE_MONO_PARALLEL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;INSIDE_MONO_PARALLEL</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;INSIDE_MONO_PARALLEL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6ee0408cb9ac5a8445a260ea0f24aab8e023d37f..e2ec3604627e4238e0704a942af21be83032e325 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618,612</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618,612</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 892f087e48f9b00aa3dbefa0b306c454c522fe91..304308e0da465aee9fc17e8e67fa0c559c76ba99 100644 (file)
@@ -23,21 +23,25 @@ namespace MonoTests.Mono.Unix.Native {
        public class RealTimeSignumTest 
        {
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void TestRealTimeOutOfRange ()
                {
                        if (!TestHelper.CanUseRealTimeSignals ())
                                return;
-                       RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
+
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void TestRealTimeSignumNegativeOffset ()
                {
                        if (!TestHelper.CanUseRealTimeSignals ())
                                return;
-                       RealTimeSignum rts1 = new RealTimeSignum (-1);
+
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               RealTimeSignum rts1 = new RealTimeSignum (-1);
+                       });
                }
 
                [Test]
index 9ae0c61b288180fe2c44e97acb3a7a855f321c6f..eb2083e47b128bdbaf94c3f3f717f400d97c7222 100644 (file)
@@ -74,169 +74,180 @@ namespace MonoTests.System.IO
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void CtorArgumentException1 ()
                {
-                       StdioFileStream stream;
-                       stream = new StdioFileStream ("", FileMode.Create);
-                       stream.Close ();
-               }                       
+                       Assert.Throws<ArgumentException> (() => {
+                               StdioFileStream stream;
+                               stream = new StdioFileStream ("", FileMode.Create);
+                               stream.Close ();
+                       });
+               }
 
                [Test]
-               [ExpectedException (typeof (ArgumentNullException))]
                public void CtorArgumentNullException ()
                {
-                       StdioFileStream stream = new StdioFileStream (null, FileMode.Create);
-                       stream.Close ();
+                       Assert.Throws<ArgumentNullException> (() => {
+                               StdioFileStream stream = new StdioFileStream (null, FileMode.Create);
+                               stream.Close ();
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (FileNotFoundException))]
                public void CtorFileNotFoundException1 ()
                {
-                       string path = TempFolder + DSC + "thisfileshouldnotexists.test";
-                       DeleteFile (path);
-                       StdioFileStream stream = null;
-                       try {                           
-                               stream = new StdioFileStream (path, FileMode.Open);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
+                       Assert.Throws<FileNotFoundException> (() => {
+                               string path = TempFolder + DSC + "thisfileshouldnotexists.test";
                                DeleteFile (path);
-                       }
-               }                       
+                               StdioFileStream stream = null;
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.Open);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
+                                       DeleteFile (path);
+                               }
+                       });
+               }
 
                [Test]
-               [ExpectedException (typeof (FileNotFoundException))]
                public void CtorFileNotFoundException2 ()
                {
-                       string path = TempFolder + DSC + "thisfileshouldNOTexists.test";
-                       DeleteFile (path);
-                       StdioFileStream stream = null;
+                       Assert.Throws<FileNotFoundException> (() => {
+                               string path = TempFolder + DSC + "thisfileshouldNOTexists.test";
+                               DeleteFile (path);
+                               StdioFileStream stream = null;
 
-                       try {
-                               stream = new StdioFileStream (path, FileMode.Truncate);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.Truncate);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
 
-                               DeleteFile (path);
-                       }
+                                       DeleteFile (path);
+                               }
+                       });
                } 
 
                [Test]
-               [ExpectedException (typeof (IOException))]
                public void CtorIOException1 ()
                {
-                       string path = TempFolder + DSC + "thisfileshouldexists.test";
-                       StdioFileStream stream = null;
-                       DeleteFile (path);
-                       try {
-                               stream = new StdioFileStream (path, FileMode.CreateNew);
-                               stream.Close ();
-                               stream = null;
-                               stream = new StdioFileStream (path, FileMode.CreateNew);
-                       } finally {
-
-                               if (stream != null)
-                                       stream.Close ();
+                       Assert.Throws<IOException> (() => {
+                               string path = TempFolder + DSC + "thisfileshouldexists.test";
+                               StdioFileStream stream = null;
                                DeleteFile (path);
-                       } 
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.CreateNew);
+                                       stream.Close ();
+                                       stream = null;
+                                       stream = new StdioFileStream (path, FileMode.CreateNew);
+                               } finally {
+
+                                       if (stream != null)
+                                               stream.Close ();
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void CtorArgumentOutOfRangeException1 ()
                {
-                       StdioFileStream stream = null;
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
-                       try {
-                               stream = new StdioFileStream (path, FileMode.Append | FileMode.CreateNew);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               StdioFileStream stream = null;
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
                                DeleteFile (path);
-                       }                       
-               }                       
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.Append | FileMode.CreateNew);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
+                                       DeleteFile (path);
+                               }
+                       });
+               }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void CtorArgumentOutOfRangeException2 ()
                {
-                       StdioFileStream stream = null;
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
-                       try {
-                               stream = new StdioFileStream ("test.test.test", FileMode.Append | FileMode.Open);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               StdioFileStream stream = null;
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
                                DeleteFile (path);
-                       }                       
+                               try {
+                                       stream = new StdioFileStream ("test.test.test", FileMode.Append | FileMode.Open);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (DirectoryNotFoundException))]
                public void CtorDirectoryNotFoundException ()
                {
-                       string path = TempFolder + DSC + "thisDirectoryShouldNotExists";
-                       if (Directory.Exists (path))
-                               Directory.Delete (path, true);
+                       Assert.Throws<DirectoryNotFoundException> (() => {
+                               string path = TempFolder + DSC + "thisDirectoryShouldNotExists";
+                               if (Directory.Exists (path))
+                                       Directory.Delete (path, true);
 
-                       StdioFileStream stream = null;                          
-                       try {
-                               stream = new StdioFileStream (path + DSC + "eitherthisfile.test", FileMode.CreateNew);
-                       } finally {
+                               StdioFileStream stream = null;
+                               try {
+                                       stream = new StdioFileStream (path + DSC + "eitherthisfile.test", FileMode.CreateNew);
+                               } finally {
 
-                               if (stream != null)
-                                       stream.Close ();
+                                       if (stream != null)
+                                               stream.Close ();
 
-                               if (Directory.Exists (path))
-                                       Directory.Delete (path, true);
-                       }                               
+                                       if (Directory.Exists (path))
+                                               Directory.Delete (path, true);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void CtorArgumentException3 ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       StdioFileStream stream = null;
+                       Assert.Throws<ArgumentException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               StdioFileStream stream = null;
 
-                       DeleteFile (path);
+                               DeleteFile (path);
 
-                       try {
-                               stream = new StdioFileStream (".test.test.test.2", FileMode.Truncate, FileAccess.Read);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
+                               try {
+                                       stream = new StdioFileStream (".test.test.test.2", FileMode.Truncate, FileAccess.Read);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
 
-                               DeleteFile (path);
-                       }                       
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                // StdioFileStream doesn't mimic the "no writing by another object" rule
-               [/* Test, */ ExpectedException(typeof(IOException))]
+               /* [Test] */
                public void CtorIOException ()
-               {                       
-                       string path = TempFolder + DSC + "CTorIOException.Test";
-                       StdioFileStream stream = null;
-                       StdioFileStream stream2 = null;
-                       DeleteFile (path);
-
-                       try {
-                               stream = new StdioFileStream (path, FileMode.CreateNew);
-
-                               // used by an another process
-                               stream2 = new StdioFileStream (path, FileMode.OpenOrCreate);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
-                               if (stream2 != null)
-                                       stream2.Close ();
+               {
+                       Assert.Throws<IOException> (() => {
+                               string path = TempFolder + DSC + "CTorIOException.Test";
+                               StdioFileStream stream = null;
+                               StdioFileStream stream2 = null;
                                DeleteFile (path);
-                       }
+
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.CreateNew);
+
+                                       // used by an another process
+                                       stream2 = new StdioFileStream (path, FileMode.OpenOrCreate);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
+                                       if (stream2 != null)
+                                               stream2.Close ();
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                [Test]
@@ -586,24 +597,25 @@ namespace MonoTests.System.IO
                /// <see cref="StdioFileStream.Write(byte[], int, int)" /> method is called.
                /// </summary>
                [Test]
-               [ExpectedException (typeof(NotSupportedException))]
                public void TestWriteVerifyAccessMode ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
-
-                       StdioFileStream stream = null;
-                       byte[] buffer;
-
-                       try {
-                               buffer = Encoding.ASCII.GetBytes ("test");
-                               stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
-                               stream.Write (buffer, 0, buffer.Length);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close();
+                       Assert.Throws<NotSupportedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
                                DeleteFile (path);
-                       }
+
+                               StdioFileStream stream = null;
+                               byte[] buffer;
+
+                               try {
+                                       buffer = Encoding.ASCII.GetBytes ("test");
+                                       stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
+                                       stream.Write (buffer, 0, buffer.Length);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close();
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                /// <summary>
@@ -612,22 +624,23 @@ namespace MonoTests.System.IO
                /// <see cref="StdioFileStream.WriteByte(byte)" /> method is called.
                /// </summary>
                [Test]
-               [ExpectedException (typeof (NotSupportedException))]
                public void TestWriteByteVerifyAccessMode ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<NotSupportedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       StdioFileStream stream = null;
+                               StdioFileStream stream = null;
 
-                       try {
-                               stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
-                               stream.WriteByte (Byte.MinValue);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
-                               DeleteFile (path);
-                       }
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
+                                       stream.WriteByte (Byte.MinValue);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                /// <summary>
@@ -636,22 +649,23 @@ namespace MonoTests.System.IO
                /// <see cref="StdioFileStream.Read(byte[], int, int)" /> method is called.
                /// </summary>
                [Test]
-               [ExpectedException (typeof (NotSupportedException))]
                public void TestReadVerifyAccessMode ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<NotSupportedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       StdioFileStream stream = null;
-                       byte[] buffer = new byte [100];
+                               StdioFileStream stream = null;
+                               byte[] buffer = new byte [100];
 
-                       try {
-                               stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
-                               stream.Read (buffer, 0, buffer.Length);
-                       } finally {
-                               if (stream != null)
-                                       stream.Close ();
-                       }
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
+                                       stream.Read (buffer, 0, buffer.Length);
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close ();
+                               }
+                       });
                }
 
                /// <summary>
@@ -660,22 +674,23 @@ namespace MonoTests.System.IO
                /// <see cref="StdioFileStream.ReadByte()" /> method is called.
                /// </summary>
                [Test]
-               [ExpectedException (typeof (NotSupportedException))]
                public void TestReadByteVerifyAccessMode ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<NotSupportedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       StdioFileStream stream = null;
+                               StdioFileStream stream = null;
 
-                       try {
-                               stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
-                               int readByte = stream.ReadByte ();
-                       } finally {
-                               if (stream != null)
-                                       stream.Close();
-                               DeleteFile (path);
-                       }
+                               try {
+                                       stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
+                                       int readByte = stream.ReadByte ();
+                               } finally {
+                                       if (stream != null)
+                                               stream.Close();
+                                       DeleteFile (path);
+                               }
+                       });
                }
 
                // Check that the stream is flushed even when it doesn't own the
@@ -705,111 +720,120 @@ namespace MonoTests.System.IO
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void Read_OffsetNegative ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
-                               stream.Read (new byte[0], -1, 1);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
+                                       stream.Read (new byte[0], -1, 1);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void Read_OffsetOverflow ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
-                               stream.Read (new byte[0], Int32.MaxValue, 1);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
+                                       stream.Read (new byte[0], Int32.MaxValue, 1);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void Read_CountNegative ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
-                               stream.Read (new byte[0], 1, -1);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
+                                       stream.Read (new byte[0], 1, -1);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void Read_CountOverflow ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
-                               stream.Read (new byte[0], 1, Int32.MaxValue);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
+                                       stream.Read (new byte[0], 1, Int32.MaxValue);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void Write_OffsetNegative ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
-                               stream.Write (new byte[0], -1, 1);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
+                                       stream.Write (new byte[0], -1, 1);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void Write_OffsetOverflow ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
-                               stream.Write (new byte[0], Int32.MaxValue, 1);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
+                                       stream.Write (new byte[0], Int32.MaxValue, 1);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void Write_CountNegative ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentOutOfRangeException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
-                               stream.Write (new byte[0], 1, -1);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
+                                       stream.Write (new byte[0], 1, -1);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void Write_CountOverflow ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
-                               stream.Write (new byte[0], 1, Int32.MaxValue);
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
+                                       stream.Write (new byte[0], 1, Int32.MaxValue);
+                               }
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void Seek_InvalidSeekOrigin () 
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
+                       Assert.Throws<ArgumentException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
 
-                       using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
-                               stream.Seek (0, (SeekOrigin) (-1));
-                       }
+                               using (StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read)) {
+                                       stream.Seek (0, (SeekOrigin) (-1));
+                               }
+                       });
                }
 
                //
@@ -826,36 +850,39 @@ namespace MonoTests.System.IO
                //}
 
                [Test]
-               [ExpectedException (typeof (ObjectDisposedException))]
                public void Position_Disposed () 
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
-                       StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
-                       stream.Close ();
-                       stream.Position = 0;
+                       Assert.Throws<ObjectDisposedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
+                               StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Read);
+                               stream.Close ();
+                               stream.Position = 0;
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ObjectDisposedException))]
                public void Flush_Disposed () 
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
-                       StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
-                       stream.Close ();
-                       stream.Flush ();
+                       Assert.Throws<ObjectDisposedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
+                               StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
+                               stream.Close ();
+                               stream.Flush ();
+                       });
                }
 
                [Test]
-               [ExpectedException (typeof (ObjectDisposedException))]
                public void Seek_Disposed () 
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       DeleteFile (path);
-                       StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
-                       stream.Close ();
-                       stream.Seek (0, SeekOrigin.Begin);
+                       Assert.Throws<ObjectDisposedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               DeleteFile (path);
+                               StdioFileStream stream = new StdioFileStream (path, FileMode.OpenOrCreate, FileAccess.Write);
+                               stream.Close ();
+                               stream.Seek (0, SeekOrigin.Begin);
+                       });
                }
 
                [Test]
@@ -871,15 +898,16 @@ namespace MonoTests.System.IO
                }
 
                [Test]
-               [ExpectedException (typeof (NotSupportedException))]
                public void SetLengthWithClosedBaseStream ()
                {
-                       string path = TempFolder + Path.DirectorySeparatorChar + "temp";
-                       StdioFileStream fs = new StdioFileStream (path, FileMode.Create);
-                       BufferedStream bs = new BufferedStream (fs);
-                       fs.Close ();
+                       Assert.Throws<NotSupportedException> (() => {
+                               string path = TempFolder + Path.DirectorySeparatorChar + "temp";
+                               StdioFileStream fs = new StdioFileStream (path, FileMode.Create);
+                               BufferedStream bs = new BufferedStream (fs);
+                               fs.Close ();
 
-                       bs.SetLength (1000);
+                               bs.SetLength (1000);
+                       });
                }
        }
 }
index 5dc422d5a344aba7e90b92009d455925ed63dd0d..1516c51e3e5868fcc52dc72df252690d40d2d815 100644 (file)
@@ -136,14 +136,16 @@ namespace MonoTests.Mono.Unix {
                }
 
                [Test]
-               [ExpectedException]
                [Category ("NotOnMac")]
                public void TestSignumPropertyThrows ()
                {
                        if (!TestHelper.CanUseRealTimeSignals ())
                                return;
-                       UnixSignal signal1 = new UnixSignal (new RealTimeSignum (0));
-                       Signum s = signal1.Signum;
+
+                       Assert.Throws<InvalidOperationException> (() => {
+                               UnixSignal signal1 = new UnixSignal (new RealTimeSignum (0));
+                               Signum s = signal1.Signum;
+                       });
                }
 
                [Test]
@@ -158,14 +160,16 @@ namespace MonoTests.Mono.Unix {
                }
        
                [Test]
-               [ExpectedException]
                [Category ("NotOnMac")]
                public void TestRealTimePropertyThrows ()
                {
                        if (!TestHelper.CanUseRealTimeSignals ())
-                               return;
-                       UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
-                       RealTimeSignum s = signal1.RealTimeSignum;
+                                       return;
+
+                       Assert.Throws<InvalidOperationException> (() => {
+                               UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
+                               RealTimeSignum s = signal1.RealTimeSignum;
+                       });
                }
 
                [Test]
index 0cda89890d9f23411e9fdc1228c1f0929f3e837d..8d8c2007af80e839699900383631c5246b84f80a 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 05e68c7920ce7aa13e68f758083e57b7330a303a..f41179b86f9b86d427093e77b9bb420902c7bd35 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1030,3009</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1030,3009</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c5517987025939eecc84995a5af5ffc23be4e14f..a5df7f75d8d0d42407815b3a9edc06d76cc9d479 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index aead56faff3413852041a1210f9e139c251dd93f..b8b784a828d3844a7ab7d0278f60f45018ccf18f 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 954a72a07ead8a74841f3abe90725598080cc849..00814ba168bc88df89e9bb2b3e0702a5602d47f1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9d4df7a94a98facd2f9f987e4faad342fbc7ea97..131597d19ed21dbf009ccf1e79ab872f50af4831 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e2c1501046cc9537b6fba8b0f0e615ea35be250e..8e20cee020df8dcc29420f266392c43b663c3f17 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,612</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,612</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2d49010632f54a4710f904a0d7560a4fc9bad276..b23724821aac795e1532b8aacc0a13cef7f4ccf4 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,414,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,414,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d1798aeeabe7272ab9b53414901ae51a27ea7516..c4ee94a44a9e3afce47ed0b882336ad2217dcaeb 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bd323823c2e813c3e1549c9579f7d4b6498c3e7d..6f54fbacd7983fd5fde5fb919a9296df21a5dde1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9f491b1182c8f18d6cb8f41d40ce68caa2638457..7a0a45bde28d91a13364ccdeec3916a1295b779c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d8f4a107402f20f5450e0b1f6dc4d79976c089e1..a1a4b40d89064536b1e25c6ac4ffc76b101f4d7e 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,219,414,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CLR40;USE_ECMA_KEY;FEATURE_REFLECTIONCONTEXT;FEATURE_REFLECTIONFILEIO;FEATURE_SERIALIZATION;FEATURE_SLIMLOCK</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CLR40;USE_ECMA_KEY;FEATURE_REFLECTIONCONTEXT;FEATURE_REFLECTIONFILEIO;FEATURE_SERIALIZATION;FEATURE_SLIMLOCK</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,219,414,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CLR40;USE_ECMA_KEY;FEATURE_REFLECTIONCONTEXT;FEATURE_REFLECTIONFILEIO;FEATURE_SERIALIZATION;FEATURE_SLIMLOCK</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CLR40;USE_ECMA_KEY;FEATURE_REFLECTIONCONTEXT;FEATURE_REFLECTIONFILEIO;FEATURE_SERIALIZATION;FEATURE_SLIMLOCK</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 52af9c65be9873a7a91a4e55e58c107a817abeb9..7597c27f9d77a19941fa614a5d621ea2332c1f52 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,414</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,414</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 06e6c1f8b535cc8cf734825295778c31d6560a28..40324c205fa6a57aa2ffe4fb890abae41b059237 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6a40087a8f5304e746a3322fef9f704faa7f2a85..7160ec3790d99e80630567b34c0481d4ef875079 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0fd1aeb4358127c32a249610dad04cc80861fbfb..6dd8ae932039768faa78acd7e55620fc9889e878 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_COMPILE;FEATURE_COMPILE_TO_METHODBUILDER;FEATURE_PDB_GENERATOR</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_COMPILE;FEATURE_COMPILE_TO_METHODBUILDER;FEATURE_PDB_GENERATOR</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_COMPILE;FEATURE_COMPILE_TO_METHODBUILDER;FEATURE_PDB_GENERATOR</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_COMPILE;FEATURE_COMPILE_TO_METHODBUILDER;FEATURE_PDB_GENERATOR</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index f729567c87c2913c3b65c4cf11abcb85270b2eab..1943a1f69ac2c4f86e60b85999fb26ad2d5be173 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d1c3506c85a778be0bc195a3e0955dbc14212191..73b11b1c9a3bf72273e3a91c23bbb67a9243239b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 847c7c0710f5b2a722823f680e3b615c9de44fe2..94751b17b3f1b2491e93ee3a50b97c0129a2d235 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_STRICT;MONO_DEPLOY</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_STRICT;MONO_DEPLOY</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_STRICT;MONO_DEPLOY</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_STRICT;MONO_DEPLOY</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 49de690c84e9c47f43dadc1ce4e33e17372af288..be71f4029f28273342b2f4cea237c639a42475e2 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8e07cc79a04e8fe27a67a957131189ada28bb10a..c7b9f5cfec73bd2acf0c92999119f7a297e24a4e 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5cfd43427b7ceb9523e458a62b31d2d4a85cc1f8..74d98ad472c26ebcc25d082edac61ce4c2936938 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b50eb0df32b76be53421a064e605950032eb5de2..9608efe94c3645fed54ea5539d0a8943644272d0 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,219,414,649</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;COREFX;PLATFORM_UNIX;USEOFFSET;MONO_PARTIAL_DATA_IMPORT</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;COREFX;PLATFORM_UNIX;USEOFFSET;MONO_PARTIAL_DATA_IMPORT</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,219,414,649</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;COREFX;PLATFORM_UNIX;USEOFFSET;MONO_PARTIAL_DATA_IMPORT</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;COREFX;PLATFORM_UNIX;USEOFFSET;MONO_PARTIAL_DATA_IMPORT</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d894e18e0ac2cf2affbcf639c9ebc1f0f46b35d0..0e060e9f857a012bdc65758d96fcfbdf95bfb45f 100644 (file)
@@ -60,7 +60,8 @@ namespace MonoTests.System.Data.Connected.SqlClient
                {
                        if (conn != null)
                                conn.Dispose ();
-                       SqlConnection.ClearAllPools ();
+                       if (connectionString != null)
+                               SqlConnection.ClearAllPools ();
                }
 
                [Test]
index ccb6e197d3cd68884cd43f2f96f02e8d73dd7777..48181ca6b1998dff0c744e0ecc0de998acf0033e 100644 (file)
@@ -41,6 +41,14 @@ namespace MonoTests.System.Data.Connected.SqlClient
 
        public class SqlParameterCollectionTest
        {
+               EngineConfig engine;
+
+               [SetUp]
+               public void SetUp ()
+               {
+                       engine = ConnectionManager.Instance.Sql.EngineConfig;
+               }
+
                [Test]
                public void CopyToTest ()
                {
index 59c0761af5d318b3d3fdf6e2ac37a76bb1162ea4..27250cd0518b2c8bff10a4bc8430fe4a88b51156 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d9044aa61e528cbf571266a1149ee2c106758792..0de9fd39acecb1964fe65911559a05b6cb966e78 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436,612,618,649,67,672</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436,612,618,649,67,672</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index adf6d2b4433bfe3f18905533e12826a63faad0a5..69aff5d5b047c543e3809132f559df852909ca3f 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436,612,618,649,67,672</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436,612,618,649,67,672</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3d6866bdd0f66938bca182ec6788b2444652c44a..14e4e0ab7056fb5fe44ee79e2aa58eea22f4a2fa 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 871ef48604068f5c1ab0b58a74b62c624e2d2b90..03b19beb414992b57304c2ea969ffc579a1d5b81 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1265cde832cb4f29e740f334a710c1e5463304b8..c6d6f6d86bcb77fe9b3dc0aae532d1d67258d7f1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7da381ce341db099b73c44ed8d38a7710660106d..e750c1dfc78f02115f6f56fc8c6f9ed8556a9e29 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_TYPECONVERTER;SUPPORTS_WINDOWS_COLORS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_TYPECONVERTER;SUPPORTS_WINDOWS_COLORS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_TYPECONVERTER;SUPPORTS_WINDOWS_COLORS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_TYPECONVERTER;SUPPORTS_WINDOWS_COLORS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cb513a57929dcd170865b24727b8de991bf2a5f3..30b51caf96a6167f25871c8bd5d698f2d231fa4b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,414,169</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CODEPLEX_40</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CODEPLEX_40</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,414,169</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CODEPLEX_40</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CODEPLEX_40</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cb5643831a35ca8f86aaa8021fd20e923fd467b3..cc000d15eab8680e93027b354f07a4a48c9f40bc 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,168,162</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,168,162</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6284fdc89854c0a5f5354333516916687b43169d..e7ce5a56ebea7861696df03ef787db80f7a3891c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6e237582de65640ebd46ed770128330729f58170..2219cf539249499c77aabf07be5662f21037fc04 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1c682c481e524c2c96c230c003b7f233d561e50f..646758f1aae76190ca1031a38d5c589e68f6f940 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index dda6638bef0152f9ed2db777b169262b1477c5d9..219c266c6f891008bc20e92c6400a58314d2329b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 60b9cca46facd825562c981742f2f004357007f9..65ce1e5d029d4d1bd48a3fc4041fcd6a14024e06 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC;FEATURE_DYNAMIC</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC;FEATURE_DYNAMIC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC;FEATURE_DYNAMIC</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC;FEATURE_DYNAMIC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 54a854ba58885c90d0157d3afadd6de83afea110..4f0fde6ab4380c8ac98431c5b7b57f358be9d53b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 905897958024543543f12735b8f415131b9284d4..4209191194a3093cf8fec57a63bab184d5b47497 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 83c46cdfba4a2e0a6788460f5ab57d21b8318b89..a10e83ba72abf40f236149d26734f7571ed91a7c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 874b6cdb9a5895b1b764f328149054322a420945..af0c2089a051e341e5d52fe5d48dc55e3a1973e6 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5eecc426aee92a5973a4f13bf6ce9f72457ebb15..9d65fd285609ad8a57ca1122f75dbfefac76fcd2 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7cc5093a2f6b24da14076e595c34b3900a06c01c..cf0f31fc6cf48405af667c4e413150a4f0758f2a 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 54584a85b151458b7dc0b89b020662477df667fd..3162032a761ee0c7334eef72627403c2d9d11bb8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1720</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1720</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1466512e844a34268377b6c94c11e2b900d66b3f..1198c3316b2bc49f72c68c9b0f339c30ebee0499 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9e8451461edfad3081e604c0e28e9d99206356a8..89106fd4b4d12a0552f0ac098f8b8bf3670b68a8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cfcd654a6d74b52cd24c893e38d479ec8ed5358b..e95d63072f6e3e330f619a4532c76c948de54206 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b97766e4f0712344eef6acfaf8369cedf456397d..fd612e3203d2a0abde2edd102dd51d7336d5e636 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 084806bf4b5d3c887cdea74e90640390b8bc380f..cb6c001fd6fc4111e111210c4d2540bdea40499b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c7bdb9d42304a29ca511e4624302f04030df41a8..693b84ac424dc550b21448ab15b1e87755bd8b5c 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2d4a94460da67576f7186bd723a2cc5efc3c89b3..8b6aae1a2ee89b5fe8437e956699248aeeb37905 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 83469c2b7a565883ab54b7c04e65bcf951348be1..3a6703d4a4280231aabf7228e9f2729650bdf1ee 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 13477dcb58b0ed97cc8bf650ef3d428a931c7011..d8bd9039d52f674fa20239ff53d6046233eb179b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index e1692a166aba5cd10e4d855fafa92293b2e752a9..88257ba6d89cee937c5590b02b53b8f3b8c4bdcb 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index f67fcef17596701ae86ab0fe33b43ac0fa201fde..51a3b170ba40d457ac90e13c1aa1b0d73399adcf 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 06a2d2ea8de98f435423eb005d481be2dd92acb4..a7a8f50d38c6a9b522f5bf0f328d79af84e3df5b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 76cd2b76658adcc44ccb51914fa47d21a55af124..2f785634bec3db6877f4cfa3735e84c11c753fa9 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7a38a4d4d76ccfbc7d4335a47aeafe2708e02edb..7bf9e27a412969a2fe57a65d219bf335f59c4e55 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 66d36bd4d78e0f152e321c83584d6dc575c6a856..b079d06ac8745fcd22b0a40f6c215833c63426b5 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,414</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,414</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 74a75d64d9cf4ef0a428cef0e6957ef7c18c7977..5776a72517296a00a0d2407ec5ba33e2b810a52b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 81c6c0abbc3baf70d163fb25b76a711ee6d374a7..59f32d42aa0fa880c13b4205e7bc6c8abf900e88 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 88e69b971559fcff484905fd6b8ad4a61532b3a6..cdc14c8471b1f97b9068bbe2704bb09db0a00e0b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ed2007f92d1c8e7b4f94dd816e375b2c759fa492..dd4a5adca6d21184feb96330e132c0f7446b2df8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c3a02fe221621e29774d345feecc8fe586e6642f..ed90c6f20117ac06fa55883c9bf0fc365583b68e 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,168,169,219,414,618,1634</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NO_DYNAMIC_CODEGEN;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NO_DYNAMIC_CODEGEN;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,168,169,219,414,618,1634</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NO_DYNAMIC_CODEGEN;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NO_DYNAMIC_CODEGEN;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ab9f2401ef1891a33b3ba3e3ab79622278c46014..89246bb50e01ee33934e22de54f4a3c28622dcbf 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618,414</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SECURITY_DEP</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SECURITY_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618,414</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SECURITY_DEP</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SECURITY_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index bdd50c9cbbdad4b2bc9ce96d7ca481ba3c29b7a1..b3dfd05ea6191e758132de369413b195154037e1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1f2ddc33a3e8331ff3e8ccf509e1ec0a01a16358..00061969b87d1007ad56b1e70749f104d9b55ffb 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ffb6f6a5a667ea22765c39462f4ab96434cfa4bd..32a1e26f61f497351562af35114551767c26e955 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_FEATURE_MULTIPLE_APPDOMAINS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_FEATURE_MULTIPLE_APPDOMAINS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_FEATURE_MULTIPLE_APPDOMAINS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_FEATURE_MULTIPLE_APPDOMAINS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8cdd5ff62e928b764e37aa4957ca1a9d820f15b3..2baa6220515ead01fabfcd13f53b157d51c58be5 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index fd43cf2587070c9bb99417755e8c2c404ce79869..3587a1175778284aa189c10435cf8ae1d2b73851 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5dfbbb2d15a78000d56abe7fb39a6baea55e60bf..82fe78cc2702c551b9609fcba4ef646e9e1ba9f0 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;TRACE;NET_3_0;HAS_ACTIVATION</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;TRACE;NET_3_0;HAS_ACTIVATION</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;TRACE;NET_3_0;HAS_ACTIVATION</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;TRACE;NET_3_0;HAS_ACTIVATION</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3f7b36f893ee15e8da610d66dd0a6383b91c3b12..de082d1fa2b32e740ed8d2cfb956a5b182d84979 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;TRACE;NET_3_0</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;TRACE;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;TRACE;NET_3_0</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;TRACE;NET_3_0</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index dae6c57a828d697703e86053a38f49bf13e93150..7e945b62a50c4fd277355f56ced5c72ab182f96f 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7fe9af448ea500d2b3427653394ca11c4c37ee35..7149f98abb7076b20f5c8a9f7b456e00ac501bd7 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONCURRENT_COLLECTIONS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONCURRENT_COLLECTIONS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONCURRENT_COLLECTIONS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONCURRENT_COLLECTIONS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cf59497a03272b329de4e1f4e15f43d1b5c6e68d..029beb3bf1a08bab257e245026de854f4f19f5ab 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8ed267f852ae1672f60171434785d06840a5584b..c2148c4f6f27b64dcb6dc72bc542eb37fa9b4b59 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5c972bb62514d77fa20ea12b2aa2c64e03ac9e06..44b914e312f03085b8bb66b3352098f41298e23d 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index fa53fad0c7854709fd3512e7646d17999342e569..cf2d626ebc4881b77ec8f86ea59395504c870640 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 654e98a98a3510362d3025fdb384b6e9786b12b2..4589328cb73870cc376131bf7c1e9ab4f7ad8deb 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index daba3d64b72a79071a76d4cfbbe639e6f94b4496..555b4e19cf442e62d25a6ab2a056644a368860dd 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6f65af38a6fb95dedae2fa4f4b42c472bf4b8d54..962e7fba1f74a5a85a723692a075718ad99c188d 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 010b0e9554a90a2f5ac282f4e9aae92b363c0ad8..0fa458435f5a9d5ca5218742a372b52e5b69aa21 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1fb78e348226a50905cc0d430918baab7c13edcf..6de49e3aa74eeacbc1324c3ab17431fdd16cf905 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETMVC</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETMVC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index dfd68de60bf34ba061b2178804c8a37ec5f101c5..c0c1dc21961ad934d0b23684ecde152125027e4a 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 43c71407757d75c621e9028973b8b052b7629bf0..92b91480a4ab880b0d4e97b3e89a1c161989a25b 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 78ad9a4633746a57795137548c64817dcadff1cf..93c6e8b2e406370cabae2109560360facef5d1a2 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8547ca3fe3e3ddfcd908d0b4073785bce0b49c37..bea58b03c2ae25a016dca310c7b66526a2ee896d 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6c36eb0aa985ee8951d6a901ca232b891a8c3ed4..2d3955640443cd66a6b1128ba43d158b8cda5fb1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ca1abc7d3573963c48c36fe814bfb150f8f14fb0..344eb6d71333393b0a1726562600f6f070cc3362 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,168,612,618,649</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_BROKEN_CONFIGURATION_DLL</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_BROKEN_CONFIGURATION_DLL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,168,612,618,649</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MONO_BROKEN_CONFIGURATION_DLL</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;MONO_BROKEN_CONFIGURATION_DLL</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 4ce8f2bcc4715c3689645644a2fb62be3627e600..74b69c57aae9296d182c59da774e5eaa30b377cc 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 6a874017c52c521a3ad536365870bb4e03bd81c6..c1a3b7a0cd469e7538a696cb5b267a5831d3e92f 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b52a1332b955c42b749feff1f9139b3e91ad3a3b..4b43437324e4ec6ca5cdfd2de556ac97adbe4fb5 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASPNETWEBPAGES</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASPNETWEBPAGES</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7732be367a3b2677b637a545e41601c4286ff0d8..0efc934033f28cbaec214ad052b4c9357cf644fa 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,612,618,436,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,612,618,436,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8ece36e1643c30a602689b353880dc9b83dae659..9ea6a6d579e43e46a6f25681762450a1d987c6e9 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,612,618,436,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;INSIDE_SYSTEM_WEB</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;INSIDE_SYSTEM_WEB</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,612,618,436,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;INSIDE_SYSTEM_WEB</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;INSIDE_SYSTEM_WEB</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index cfe9c610ef94f5270e294104581d2f7994d9cf80..9a2761e811ac812a92f184c28a22950c6915727c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,67</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,67</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8bbc300a64a91689cc5f6d3a55a05884a2b797c2..8d1f124a2094e8ba609f63e2e00a448a44f249d7 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618,612,809</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618,612,809</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0c5e46b3ca6d71a9743f3f21cc0bc9eff40e2b8d..d3b04065e71ffcbeaceb87a1f22ff1199af8b0a0 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0a46184494fe5f6fa3cff615bf94e1cc8fb34247..790bcbe4a095518d99f630f83cdf1e3012719b3e 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index f916981d0eaf31d2010408750a577a4cb58e295c..bf303db3ef5c90070ec9fcef9a9acc8f07fe74fa 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a10ccb568bb56e8e1565138be07cdeef5ca68d8d..ecc922b8f4e647bfcbacb9e2c97a44ca6fdec62e 100644 (file)
@@ -35,7 +35,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -43,7 +43,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 5244d4667024dd5bc562e9abf269b6a126560d43..c6fa9f18a70843a654f7242834feba09b94e7579 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,219,414,649,1717</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASYNC</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASYNC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,219,414,649,1717</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASYNC</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASYNC</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 14c2c3312d597755a2a87062238a4967e7eb3f5a..5c6128902ed97275b72a35ac68e22265e81c9924 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,219,414,649,1717</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASYNC;CONFIGURATION_DEP</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASYNC;CONFIGURATION_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,219,414,649,1717</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;ASYNC;CONFIGURATION_DEP</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;ASYNC;CONFIGURATION_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 03232bbf5670a5a39f93d884865b652b553a1052..6a975319b83c07a475e9f1976b68e7697f32ea9b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 773813ccd4a19c6a227a80225a1ce2e26568a0ec..b90582957b92a1e3afd5d0b83c0d933a28dbca04 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_SERIALIZATION</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_SERIALIZATION</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_SERIALIZATION</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_SERIALIZATION</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 27bfc2b0f5f6cce074054d66be8a37a44f065ba6..c834555074ac113826ea30bb5f2f4a54d21fb493 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 073bb3c9c25def79057bdda3d85bcef83a8fbd04..39b0706253fe7de44347564fe0a8b358557c6d51 100644 (file)
@@ -17,7 +17,8 @@ endif
 RESX_RESOURCE_STRING = \
        ../../../external/corefx/src/System.Collections.Concurrent/src/Resources/Strings.resx \
        ../../../external/corefx/src/System.Collections/src/Resources/Strings.resx \
-       ../../../external/corefx/src/System.Buffers/src/Resources/Strings.resx
+       ../../../external/corefx/src/System.Buffers/src/Resources/Strings.resx \
+       ../../../external/corefx/src/System.Private.Uri/src/Resources/Strings.resx
 
 TEST_RESOURCES = \
        Test/System/test-uri-props.txt \
index 7fd9f4e617cb14446f1c0b378f89c4cf8428b896..31275cfdcf5e4ed9de29740ff35d6abfeffa8cec 100644 (file)
@@ -10,9 +10,6 @@ partial class SR
 {
        public const string RTL = "RTL_False";
        public const string ContinueButtonText = "Continue";
-       public const string DebugAssertBanner = "---- DEBUG ASSERTION FAILED ----";
-       public const string DebugAssertShortMessage = "---- Assert Short Message ----";
-       public const string DebugAssertLongMessage = "---- Assert Long Message ----";
        public const string DebugMessageTruncated = "{0}...\n<truncated>";
        public const string DebugAssertTitleShort = "Assertion Failed";
        public const string DebugAssertTitle = "Assertion Failed: Cancel=Debug, OK=Continue";
@@ -530,28 +527,6 @@ partial class SR
        public const string net_httpstatuscode_ServiceUnavailable = "Server Unavailable";
        public const string net_httpstatuscode_GatewayTimeout = "Gateway Timeout";
        public const string net_httpstatuscode_HttpVersionNotSupported = "Http Version Not Supported";
-       public const string net_uri_BadScheme = "Invalid URI: The URI scheme is not valid.";
-       public const string net_uri_BadFormat = "Invalid URI: The format of the URI could not be determined.";
-       public const string net_uri_BadUserPassword = "Invalid URI: The username:password construct is badly formed.";
-       public const string net_uri_BadHostName = "Invalid URI: The hostname could not be parsed.";
-       public const string net_uri_BadAuthority = "Invalid URI: The Authority/Host could not be parsed.";
-       public const string net_uri_BadAuthorityTerminator = "Invalid URI: The Authority/Host cannot end with a backslash character ('\\').";
-       public const string net_uri_EmptyUri = "Invalid URI: The URI is empty.";
-       public const string net_uri_BadString = "Invalid URI: There is an invalid sequence in the string.";
-       public const string net_uri_MustRootedPath = "Invalid URI: A Dos path must be rooted, for example, 'c:\\'.";
-       public const string net_uri_BadPort = "Invalid URI: Invalid port specified.";
-       public const string net_uri_SizeLimit = "Invalid URI: The Uri string is too long.";
-       public const string net_uri_SchemeLimit = "Invalid URI: The Uri scheme is too long.";
-       public const string net_uri_NotAbsolute = "This operation is not supported for a relative URI.";
-       public const string net_uri_PortOutOfRange = "A derived type '{0}' has reported an invalid value for the Uri port '{1}'.";
-       public const string net_uri_UserDrivenParsing = "A derived type '{0}' is responsible for parsing this Uri instance. The base implementation must not be used.";
-       public const string net_uri_AlreadyRegistered = "A URI scheme name '{0}' already has a registered custom parser.";
-       public const string net_uri_NeedFreshParser = "The URI parser instance passed into 'uriParser' parameter is already registered with the scheme name '{0}'.";
-       public const string net_uri_CannotCreateRelative = "A relative URI cannot be created because the 'uriString' parameter represents an absolute URI.";
-       public const string net_uri_InvalidUriKind = "The value '{0}' passed for the UriKind parameter is invalid.";
-       public const string net_uri_BadUnicodeHostForIdn = "An invalid Unicode character by IDN standards was specified in the host.";
-       public const string net_uri_GenericAuthorityNotDnsSafe = "The generic authority '{0}' is not a valid dns name.";
-       public const string net_uri_NotJustSerialization = "UriComponents.SerializationInfoString must not be combined with other UriComponents.";
        public const string net_emptystringset = "This property cannot be set to an empty string.";
        public const string net_emptystringcall = "The parameter '{0}' cannot be an empty string.";
        public const string net_headers_req = "This collection holds response headers and cannot contain the specified request header.";
@@ -1335,17 +1310,12 @@ partial class SR
        public const string NotSupported_UnseekableStream = "Stream does not support seeking.";
        public const string IO_EOF_ReadBeyondEOF = "Unable to read beyond the end of the stream.";
        public const string ObjectDisposed_StreamClosed = "Can not access a closed Stream.";
-       public const string UnauthorizedAccess_IODenied_Path = "Access to the port '{0}' is denied.";
        public const string IO_UnknownError = "Unknown Error '{0}'.";
        public const string Arg_WrongAsyncResult = "IAsyncResult object did not come from the corresponding async method on this type.";
        public const string InvalidOperation_EndReadCalledMultiple = "EndRead can only be called once for each asynchronous operation.";
        public const string InvalidOperation_EndWriteCalledMultiple = "EndWrite can only be called once for each asynchronous operation.";
        public const string IO_PortNotFound = "The specified port does not exist.";
        public const string IO_PortNotFoundFileName = "The port '{0}' does not exist.";
-       public const string UnauthorizedAccess_IODenied_NoPathName = "Access to the port is denied.";
-       public const string IO_PathTooLong = "The specified port name is too long.  The port name must be less than 260 characters.";
-       public const string IO_SharingViolation_NoFileName = "The process cannot access the port because it is being used by another process.";
-       public const string IO_SharingViolation_File = "The process cannot access the port '{0}' because it is being used by another process.";
        public const string NotSupported_UnwritableStream = "Stream does not support writing.";
        public const string ObjectDisposed_WriterClosed = "Can not write to a closed TextWriter.";
        public const string BaseStream_Invalid_Not_Open = "The BaseStream is only available when the port is open.";
index f6c98cf17ea921a1d3a145961bb475058820e909..89c23eae58fddcff8ef28874fc756fb39f8a3a67 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketMessageType.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketReceiveResult.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketState.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Private.Uri\src\System\UriBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Runtime.Extensions\src\System\CodeDom\Compiler\IndentedTextWriter.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Runtime\src\System\Collections\Generic\ISet.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.X509Certificates\src\System\Security\Cryptography\X509Certificates\OpenFlags.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebUtility.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WriteStreamClosedEventArgs.cs" />\r
     <Compile Include="..\referencesource\System\net\System\URI.cs" />\r
-    <Compile Include="..\referencesource\System\net\System\uribuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\UriEnumTypes.cs" />\r
     <Compile Include="..\referencesource\System\net\System\UriExt.cs" />\r
     <Compile Include="..\referencesource\System\net\System\URIFormatException.cs" />\r
index bf204056889cd36ada3d39469052c97e6b58e1ee..02b06637ef5b3d1c5283a2db41b649956ed412f3 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketMessageType.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketReceiveResult.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketState.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Private.Uri\src\System\UriBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Runtime.Extensions\src\System\CodeDom\Compiler\IndentedTextWriter.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Runtime\src\System\Collections\Generic\ISet.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.X509Certificates\src\System\Security\Cryptography\X509Certificates\OpenFlags.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebUtility.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WriteStreamClosedEventArgs.cs" />\r
     <Compile Include="..\referencesource\System\net\System\URI.cs" />\r
-    <Compile Include="..\referencesource\System\net\System\uribuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\UriEnumTypes.cs" />\r
     <Compile Include="..\referencesource\System\net\System\UriExt.cs" />\r
     <Compile Include="..\referencesource\System\net\System\URIFormatException.cs" />\r
index 8b3a733f8c60525251c66ee588ef19ddc3ec6f5a..8a7cd545b71dfa104b966494f1c0370f1fc75ef7 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,436</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;CODEDOM;MONO_FEATURE_APPLETLS;MONO_FEATURE_BTLS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketMessageType.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketReceiveResult.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Net.WebSockets\src\System\Net\WebSockets\WebSocketState.cs" />\r
+    <Compile Include="..\..\..\external\corefx\src\System.Private.Uri\src\System\UriBuilder.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Runtime.Extensions\src\System\CodeDom\Compiler\IndentedTextWriter.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Runtime\src\System\Collections\Generic\ISet.cs" />\r
     <Compile Include="..\..\..\external\corefx\src\System.Security.Cryptography.X509Certificates\src\System\Security\Cryptography\X509Certificates\OpenFlags.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebUtility.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WriteStreamClosedEventArgs.cs" />\r
     <Compile Include="..\referencesource\System\net\System\URI.cs" />\r
-    <Compile Include="..\referencesource\System\net\System\uribuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\UriEnumTypes.cs" />\r
     <Compile Include="..\referencesource\System\net\System\UriExt.cs" />\r
     <Compile Include="..\referencesource\System\net\System\URIFormatException.cs" />\r
index 5053aadace9566d6f38a4d7299f20b0e12e4feec..2c54ef71a5ffa86a5a71b268b28d09bee8cbb559 100644 (file)
@@ -48,6 +48,9 @@ namespace Mono.Audio {
                protected uint chunk_size;
                
                static AudioDevice TryAlsa (string name) {
+#if XAMMAC_4_5
+                       return null;
+#else
                        AudioDevice dev;
                        try {
                                dev = new AlsaDevice (name);
@@ -55,6 +58,7 @@ namespace Mono.Audio {
                        } catch {
                                return null;
                        }
+#endif
                }
 
                public static AudioDevice CreateDevice (string name) {
@@ -87,6 +91,7 @@ namespace Mono.Audio {
                }
        }
 
+#if !XAMMAC_4_5
        class AlsaDevice: AudioDevice, IDisposable {
                IntPtr handle;
                IntPtr hw_param;
@@ -319,6 +324,7 @@ namespace Mono.Audio {
                        snd_pcm_drain (handle);
                }
        }
+#endif
 
 }
 
index 4d5d7b418496bad939a53f2b25840d4031ebb150..89911c426b4420c4cc944c0dea38db8850a40204 100644 (file)
@@ -901,12 +901,11 @@ namespace System.Net.Sockets
                                SocketAsyncResult ares;
 
                                if (!GetCheckedIPs (e, out addresses)) {
-                                       e.socket_async_result.EndPoint = e.RemoteEndPoint;
+                                       //NOTE: DualMode may cause Socket's RemoteEndpoint to differ in AddressFamily from the
+                                       // SocketAsyncEventArgs, but the SocketAsyncEventArgs itself is not changed
                                        ares = (SocketAsyncResult) BeginConnect (e.RemoteEndPoint, ConnectAsyncCallback, e);
                                } else {
-                                       DnsEndPoint dep = (e.RemoteEndPoint as DnsEndPoint);
-                                       e.socket_async_result.Addresses = addresses;
-                                       e.socket_async_result.Port = dep.Port;
+                                       DnsEndPoint dep = (DnsEndPoint)e.RemoteEndPoint;
                                        ares = (SocketAsyncResult) BeginConnect (addresses, dep.Port, ConnectAsyncCallback, e);
                                }
 
@@ -984,8 +983,8 @@ namespace System.Net.Sockets
                                        sockares.Complete (new SocketException ((int) SocketError.AddressNotAvailable), true);
                                        return sockares;
                                }
-                               
-                               remoteEP = RemapIPEndPoint (ep);
+
+                               sockares.EndPoint = remoteEP = RemapIPEndPoint (ep);
                        }
 
                        int error = 0;
index 6e82f9d6db81626de695abee6c8d6a34496b8425..6e80da7dc78d1035425e9a6208d4f5902b685a92 100755 (executable)
@@ -4620,6 +4620,8 @@ namespace MonoTests.System.Net.Sockets
                                client.DualMode = true;
                                var ar1 = client.BeginConnect (ep, BCCallback, client);
                                Assert.IsTrue (BCCalledBack.WaitOne (10000), "#1");
+                               Assert.AreEqual(server.AddressFamily, client.RemoteEndPoint.AddressFamily, "#2");
+                               Assert.AreEqual(server.AddressFamily, client.LocalEndPoint.AddressFamily, "#3");
                                client.Disconnect (false);
                                client.Close ();
 
@@ -4627,7 +4629,9 @@ namespace MonoTests.System.Net.Sockets
                                client = new Socket (AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
                                client.DualMode = true;
                                var ar2 = client.BeginConnect (IPAddress.Loopback, ep.Port, BCCallback, client);
-                               Assert.IsTrue (BCCalledBack.WaitOne (10000), "#2");
+                               Assert.IsTrue (BCCalledBack.WaitOne (10000), "#4");
+                               Assert.AreEqual(server.AddressFamily, client.RemoteEndPoint.AddressFamily, "#5");
+                               Assert.AreEqual(server.AddressFamily, client.LocalEndPoint.AddressFamily, "#6");
                                client.Disconnect (false);
                                client.Close ();
 
@@ -4635,7 +4639,9 @@ namespace MonoTests.System.Net.Sockets
                                client = new Socket (AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
                                client.DualMode = true;
                                var ar3 = client.BeginConnect (new [] {IPAddress.Loopback}, ep.Port, BCCallback, client);
-                               Assert.IsTrue (BCCalledBack.WaitOne (10000), "#2");
+                               Assert.IsTrue (BCCalledBack.WaitOne (10000), "#7");
+                               Assert.AreEqual(server.AddressFamily, client.RemoteEndPoint.AddressFamily, "#8");
+                               Assert.AreEqual(server.AddressFamily, client.LocalEndPoint.AddressFamily, "#9");
                                client.Disconnect (false);
                                client.Close();
                        }
index 59ef15dd76430231d670c9668085cec93c662ec8..5db45f56b3e48e04092646c839e46161efa533cb 100644 (file)
@@ -177,7 +177,7 @@ namespace MonoTests.System
                        Assert.AreEqual ("?\xA9 2002", b.Query, "#1");
                        Assert.AreEqual (string.Empty, b.Fragment, "#2");
                        b.Query = "?test";
-                       Assert.AreEqual ("??test", b.Query, "#3");
+                       Assert.AreEqual ("?test", b.Query, "#3");
                        b.Query = null;
                        Assert.AreEqual (string.Empty, b.Query, "#4");
                        b.Fragment = "test";
@@ -199,7 +199,7 @@ namespace MonoTests.System
                        Assert.AreEqual ("#\xA9 2002", b.Fragment, "#1");
                        Assert.AreEqual (string.Empty, b.Query, "#2");
                        b.Fragment = "#test";
-                       Assert.AreEqual ("##test", b.Fragment, "#3");
+                       Assert.AreEqual ("#test", b.Fragment, "#3");
                        b.Fragment = null;
                        Assert.AreEqual (String.Empty, b.Fragment, "#4");
                        b.Query = "name";
@@ -264,7 +264,7 @@ namespace MonoTests.System
                        b = new UriBuilder ("http", "www.ximian.com", 80, "/lalala/lelele.aspx", "?");
                        Assert.AreEqual (noquery, b.Uri.ToString (), "#2");
                        b = new UriBuilder ("http", "www.ximian.com", 80, "/lalala/lelele.aspx", "??");
-                       Assert.AreEqual (noquery + "??", b.Uri.ToString (), "#3");
+                       Assert.AreEqual (noquery + "?", b.Uri.ToString (), "#3");
                        b = new UriBuilder ("http", "www.ximian.com", 80, "/lalala/lelele.aspx", "?something");
                        Assert.AreEqual (noquery + "?something", b.Uri.ToString (), "#4");
                }
index a12bf86ba802a274eefe671fe3186342cc27d98e..b4cb1317ba5f99a609e07911604acdd364614a43 100644 (file)
@@ -680,7 +680,6 @@ ReferenceSources/Win32Exception.cs
 ../referencesource/System/net/System/GenericUriParser.cs
 ../referencesource/System/net/System/IriHelper.cs
 ../referencesource/System/net/System/URI.cs
-../referencesource/System/net/System/uribuilder.cs
 ../referencesource/System/net/System/UriEnumTypes.cs
 ../referencesource/System/net/System/UriExt.cs
 ../referencesource/System/net/System/URIFormatException.cs
@@ -977,4 +976,6 @@ corefx/SR.cs
 
 ../../../external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs
 
+../../../external/corefx/src/System.Private.Uri/src/System/UriBuilder.cs
+
 ../../../external/corefx/src/System.Runtime.Extensions/src/System/CodeDom/Compiler/IndentedTextWriter.cs
index 733acc5e21fad3d1d77a5ac1bebab195665aa426..671e89d79a58ac0b3d41f56e49993b4c02a17d80 100644 (file)
@@ -80,4 +80,43 @@ partial class SR
        public const string Serialization_MissingKeys = "The keys for this dictionary are missing.";
        public const string Serialization_MissingValues = "The values for this dictionary are missing.";
        public const string ArgumentException_BufferNotFromPool = "The buffer is not associated with this pool and may not be returned to it.";
+       public const string ArgumentOutOfRange_IndexCountBuffer = "Index and count must refer to a location within the buffer.";
+       public const string Argument_InvalidCharSequenceNoIndex = "String contains invalid Unicode code points.";
+       public const string net_uri_BadAuthority = "Invalid URI: The Authority/Host could not be parsed.";
+       public const string net_uri_BadAuthorityTerminator = "Invalid URI: The Authority/Host cannot end with a backslash character ('\\\\').";
+       public const string net_uri_BadFormat = "Invalid URI: The format of the URI could not be determined.";
+       public const string net_uri_NeedFreshParser = "The URI parser instance passed into 'uriParser' parameter is already registered with the scheme name '{0}'.";
+       public const string net_uri_AlreadyRegistered = "A URI scheme name '{0}' already has a registered custom parser.";
+       public const string net_uri_BadHostName = "Invalid URI: The hostname could not be parsed.";
+       public const string net_uri_BadPort = "Invalid URI: Invalid port specified.";
+       public const string net_uri_BadScheme = "Invalid URI: The URI scheme is not valid.";
+       public const string net_uri_BadString = "Invalid URI: There is an invalid sequence in the string.";
+       public const string net_uri_BadUserPassword = "Invalid URI: The username:password construct is badly formed.";
+       public const string net_uri_CannotCreateRelative = "A relative URI cannot be created because the 'uriString' parameter represents an absolute URI.";
+       public const string net_uri_SchemeLimit = "Invalid URI: The Uri scheme is too long.";
+       public const string net_uri_EmptyUri = "Invalid URI: The URI is empty.";
+       public const string net_uri_InvalidUriKind = "The value '{0}' passed for the UriKind parameter is invalid.";
+       public const string net_uri_MustRootedPath = "Invalid URI: A Dos path must be rooted, for example, 'c:\\\\'.";
+       public const string net_uri_NotAbsolute = "This operation is not supported for a relative URI.";
+       public const string net_uri_PortOutOfRange = "A derived type '{0}' has reported an invalid value for the Uri port '{1}'.";
+       public const string net_uri_SizeLimit = "Invalid URI: The Uri string is too long.";
+       public const string net_uri_UserDrivenParsing = "A derived type '{0}' is responsible for parsing this Uri instance. The base implementation must not be used.";
+       public const string net_uri_NotJustSerialization = "UriComponents.SerializationInfoString must not be combined with other UriComponents.";
+       public const string net_uri_BadUnicodeHostForIdn = "An invalid Unicode character by IDN standards was specified in the host.";
+       public const string DebugAssertBanner = "---- DEBUG ASSERTION FAILED ----";
+       public const string DebugAssertLongMessage = "---- Assert Long Message ----";
+       public const string DebugAssertShortMessage = "---- Assert Short Message ----";
+       public const string IO_FileNotFound = "Unable to find the specified file.";
+       public const string IO_FileNotFound_FileName = "Could not find file '{0}'.";
+       public const string IO_PathNotFound_NoPathName = "Could not find a part of the path.";
+       public const string IO_PathNotFound_Path = "Could not find a part of the path '{0}'.";
+       public const string IO_SharingViolation_File = "The process cannot access the file '{0}' because it is being used by another process.";
+       public const string IO_SharingViolation_NoFileName = "The process cannot access the file because it is being used by another process.";
+       public const string UnauthorizedAccess_IODenied_NoPathName = "Access to the path is denied.";
+       public const string UnauthorizedAccess_IODenied_Path = "Access to the path '{0}' is denied.";
+       public const string ArgumentOutOfRange_FileLengthTooBig = "Specified file length was too large for the file system.";
+       public const string IO_FileExists_Name = "The file '{0}' already exists.";
+       public const string IO_PathTooLong = "The specified file name or path is too long, or a component of the specified path is too long.";
+       public const string Argument_ExtraNotValid = "Extra portion of URI not valid.";
+       public const string Argument_InvalidUriSubcomponent = "The subcomponent, {0}, of this uri is not valid.";
 }
index 4d3e62d85e6d852a9b581ab9daf8b42412aab4d9..d695de325c4cdc9822f1915636cdb349e1bfe794 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index feef07a2979c77a151c2783121922716cc809250..137ce52a0fbf7b9dde4315dc4a4f5bd759d7ee19 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c773ee0edad9679ea408a51208890fe1752f0d34..640a0a8d9d69aa8ad31d8e2d3cf78e10eeb46c0a 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,67,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,67,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1d9a8927de2e6f75c3d37e60d5345930e56bfc4b..df03fe81d8b55a959028a9f733c7c5d4b7953374 100644 (file)
@@ -30,7 +30,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if WIN_PLATFORM
+#if WIN_PLATFORM || XAMMAC_4_5
 
 using System;
 using System.Text;
index 95aa143798d59da28d29d1eb3f687170127b43f8..2bf573ea9490c530d7fb8a75a32a924d85f1ba6e 100644 (file)
@@ -209,9 +209,11 @@ namespace Microsoft.Win32
 
                static RegistryKey ()
                {
+#if !XAMMAC_4_5
                        if (Path.DirectorySeparatorChar == '\\')
                                RegistryApi = new Win32RegistryApi ();
                        else
+#endif
                                RegistryApi = new UnixRegistryApi ();
                }
 
index e6e3fcffc56830a7606ed49a8ed1616cee81b9bf..25c642851701f3da7e124fafe771d5328404254b 100644 (file)
@@ -27,7 +27,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if WIN_PLATFORM
+#if WIN_PLATFORM || XAMMAC_4_5
 namespace Microsoft.Win32
 {
        public enum RegistryKeyPermissionCheck
index 1d12bbf70649cd436f8267773ffb4b4f8421b184..3b9b0d4410cad63a3a6843647f7a6fe62360ccac 100644 (file)
@@ -37,7 +37,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if WIN_PLATFORM
+#if WIN_PLATFORM || XAMMAC_4_5
 
 using System;
 using System.Collections;
index 25e75f0ae1309a92cc3ef7ed65c09f9bef1c2aa0..57da53e296383148f925609e8d1f0949b953b39e 100644 (file)
@@ -30,7 +30,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if WIN_PLATFORM
+#if WIN_PLATFORM || XAMMAC_4_5
 
 using System;
 using System.Runtime.InteropServices;
diff --git a/mcs/class/corlib/ReferenceSources/AppContextDefaultValues.cs b/mcs/class/corlib/ReferenceSources/AppContextDefaultValues.cs
new file mode 100644 (file)
index 0000000..c5d66e0
--- /dev/null
@@ -0,0 +1,28 @@
+using System;
+
+namespace System
+{
+       internal static class AppContextDefaultValues
+       {
+               internal const string SwitchNoAsyncCurrentCulture = "Switch.System.Globalization.NoAsyncCurrentCulture";
+               internal const string SwitchThrowExceptionIfDisposedCancellationTokenSource = "Switch.System.Threading.ThrowExceptionIfDisposedCancellationTokenSource";
+               internal const string SwitchPreserveEventListnerObjectIdentity = "Switch.System.Diagnostics.EventSource.PreserveEventListnerObjectIdentity";
+               internal const string SwitchUseLegacyPathHandling = "Switch.System.IO.UseLegacyPathHandling";
+               internal const string SwitchBlockLongPaths = "Switch.System.IO.BlockLongPaths";
+               internal const string SwitchDoNotAddrOfCspParentWindowHandle = "Switch.System.Security.Cryptography.DoNotAddrOfCspParentWindowHandle";
+               internal const string SwitchSetActorAsReferenceWhenCopyingClaimsIdentity = "Switch.System.Security.ClaimsIdentity.SetActorAsReferenceWhenCopyingClaimsIdentity";
+
+               public static void PopulateDefaultValues () {
+               }
+
+               //TODO Use the values in app.config
+               public static bool TryGetSwitchOverride (string switchName, out bool overrideValue)
+               {
+                       // The default value for a switch is 'false'
+                       overrideValue = false;
+
+                       return false;
+               }
+       }
+}
+
diff --git a/mcs/class/corlib/ReferenceSources/AppContextSwitches.cs b/mcs/class/corlib/ReferenceSources/AppContextSwitches.cs
deleted file mode 100644 (file)
index 8874423..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace System {
-       static class AppContextSwitches {
-               public static readonly bool ThrowExceptionIfDisposedCancellationTokenSource = true;
-               public static readonly bool SetActorAsReferenceWhenCopyingClaimsIdentity = false;
-               public static readonly bool NoAsyncCurrentCulture = false;
-       }
-}
\ No newline at end of file
index b055797bd86763c3e82bc201c6c4d380e9884875..c000b1eadc153211c13b0d4227b6a0a8a264054e 100644 (file)
@@ -62,6 +62,7 @@ namespace System.Reflection.Emit {
                private FieldBuilder[] global_fields;
                bool is_main;
                private MonoResource[] resources;
+               private IntPtr unparented_classes;
                #endregion
 #pragma warning restore 169, 414
                
index 30ae09cdf16be9181dcdc2efc3335c966cb0739d..b1cc9727d5a243f03347af0a742377a700bd44dc 100644 (file)
@@ -79,6 +79,7 @@ namespace System.Reflection.Emit
                private GenericTypeParameterBuilder[] generic_params;
                private RefEmitPermissionSet[] permissions;
                private TypeInfo created;
+               private int state;
                #endregion
 #pragma warning restore 169            
                
index 797fe43eedef9a7e9c785937529bf090ebbf29b1..2a3a640028ea2086ae257e49f0d21d6df1c94ce0 100755 (executable)
@@ -4,7 +4,7 @@
 //
 // Inspired by various parts of CoreRT, most notably TimeZoneInfo.WinRT.cs.
 
-#if !FULL_AOT_DESKTOP || WIN_PLATFORM
+#if WIN_PLATFORM
 
 using Microsoft.Win32;
 using System;
index 7a12080c6a89b822ca68d4806c861d4785655836..75ee4e590f752214b70b4dd3c531dd382c4f3d5d 100644 (file)
@@ -152,7 +152,7 @@ namespace System
 #if !MONODROID && !MONOTOUCH && !XAMMAC
                static TimeZoneInfo CreateLocal ()
                {
-#if !FULL_AOT_DESKTOP || WIN_PLATFORM
+#if (!FULL_AOT_DESKTOP || WIN_PLATFORM) && !XAMMAC_4_5
                        if (IsWindows && LocalZoneKey != null) {
                                string name = (string)LocalZoneKey.GetValue ("TimeZoneKeyName");
                                if (name == null)
@@ -206,7 +206,7 @@ namespace System
 
                static void GetSystemTimeZonesCore (List<TimeZoneInfo> systemTimeZones)
                {
-#if !FULL_AOT_DESKTOP || WIN_PLATFORM
+#if (!FULL_AOT_DESKTOP || WIN_PLATFORM) && !XAMMAC_4_5
                        if (TimeZoneKey != null) {
                                foreach (string id in TimeZoneKey.GetSubKeyNames ()) {
                                        try {
@@ -278,7 +278,7 @@ namespace System
 #endif
                private AdjustmentRule [] adjustmentRules;
 
-#if !MOBILE || !FULL_AOT_DESKTOP || WIN_PLATFORM
+#if (!MOBILE || !FULL_AOT_DESKTOP || WIN_PLATFORM) && !XAMMAC_4_5
                /// <summary>
                /// Determine whether windows of not (taken Stephane Delcroix's code)
                /// </summary>
@@ -305,7 +305,7 @@ namespace System
                        
                        return str.Substring (Istart, Iend-Istart+1);
                }
-               
+
 #if !FULL_AOT_DESKTOP || WIN_PLATFORM
                static RegistryKey timeZoneKey;
                static RegistryKey TimeZoneKey {
index 94cfff6e2fd7bca624f849d260fb8df58d94487d..f66c6c1ee4bc5ca557a046389594609be2c324fd 100644 (file)
@@ -11189,6 +11189,41 @@ namespace MonoTests.System.Reflection.Emit
                        Assert.IsNotNull (ins4);
                }
 
+               [Test]
+               public void CircularReferences () {
+                       // A: C<D<A>>
+                       var a_type = module.DefineType(
+                               "A",
+                               TypeAttributes.Class,
+                               typeof(object));
+
+                       var cba = a_type.DefineConstructor (MethodAttributes.Public, CallingConventions.Standard, Type.EmptyTypes);
+                       cba.GetILGenerator ().Emit (OpCodes.Ret);
+
+                       var c_type = module.DefineType(
+                               "B",
+                               TypeAttributes.Class,
+                               typeof(object));
+                       var cbb = c_type.DefineConstructor (MethodAttributes.Public, CallingConventions.Standard, Type.EmptyTypes);
+                       cbb.GetILGenerator ().Emit (OpCodes.Ret);
+                       c_type.DefineGenericParameters ("d_a_param");
+
+                       var d_type = module.DefineType(
+                               "D",
+                               TypeAttributes.Class,
+                               typeof(object));
+                       var cbd = d_type.DefineConstructor (MethodAttributes.Public, CallingConventions.Standard, Type.EmptyTypes);
+                       cbd.GetILGenerator ().Emit (OpCodes.Ret);
+                       d_type.DefineGenericParameters ("a_param");
+
+
+                       var d_instantiated = c_type.MakeGenericType (d_type.MakeGenericType (a_type));
+                       a_type.SetParent (d_instantiated);
+                       a_type.CreateType ();
+
+                       Assert.IsNotNull (a_type);
+               }
+
                // #22059
                [Test]
                [ExpectedException (typeof (TypeLoadException))]
index f5b4dd9a3ba1d029449ab8125eaf508c6710cca2..59d9b8cbba522efdb0c89b5bcdddab9a3cbc48de 100644 (file)
@@ -325,10 +325,14 @@ namespace MonoTests.System.Threading
                        } catch (ObjectDisposedException) {
                        }
 
-                       try {
-                               token.Register (() => { });
-                               Assert.Fail ("#3");
-                       } catch (ObjectDisposedException) {
+                       bool throwOnDispose = false;
+                       AppContext.TryGetSwitch ("Switch.System.Threading.ThrowExceptionIfDisposedCancellationTokenSource", out throwOnDispose);
+                       if (throwOnDispose) { 
+                               try {
+                                       token.Register (() => { });
+                                       Assert.Fail ("#3");
+                               } catch (ObjectDisposedException) {
+                               }
                        }
 
                        try {
@@ -337,10 +341,12 @@ namespace MonoTests.System.Threading
                        } catch (ObjectDisposedException) {
                        }
 
-                       try {
-                               CancellationTokenSource.CreateLinkedTokenSource (token);
-                               Assert.Fail ("#5");
-                       } catch (ObjectDisposedException) {
+                       if (throwOnDispose) {
+                               try {
+                                       CancellationTokenSource.CreateLinkedTokenSource (token);
+                                       Assert.Fail ("#5");
+                               } catch (ObjectDisposedException) {
+                               }
                        }
 
                        try {
index d25889f6de69f7c78b1f148d45a06107c212ce32..2935c259db2ca9f89688a39eb85be51b3e07f72e 100644 (file)
@@ -867,9 +867,12 @@ namespace MonoTests.System
                        [Test]
                        public void WindowsRegistryTimezoneWithParentheses ()
                        {
-                               var method = (MethodInfo) typeof (TimeZoneInfo).GetMember ("TrimSpecial", MemberTypes.Method, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)[0];
+                               var memberInfos = typeof (TimeZoneInfo).GetMember ("TrimSpecial", MemberTypes.Method, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
 
-                               var name = method.Invoke (null, new object [] { " <--->  Central Standard Time (Mexico)   ||<<>>" });
+                               if (memberInfos.Length == 0)
+                                       Assert.Ignore ("TrimSpecial method not found");
+
+                               var name = ((MethodInfo)memberInfos[0]).Invoke (null, new object [] { " <--->  Central Standard Time (Mexico)   ||<<>>" });
                                Assert.AreEqual (name, "Central Standard Time (Mexico)", "#1");
                        }
 #endif
index d1765680ff4f2066005bdee207ec5ccec672f5ff..9cc8ca79a413f707d27ad210899583c3fdb03456 100644 (file)
@@ -3271,6 +3271,38 @@ namespace MonoTests.System
                        Assert.AreSame (expectedType, r, "#2");
                }
 
+               public class BConstrained<Y> where Y : BConstrained<Y> {
+               }
+
+               public class AConstrained<X> : BConstrained<AConstrained<X>> {
+               }
+
+               [Test] // Bug https://bugzilla.xamarin.com/show_bug.cgi?id=54485
+               public void MakeGenericType_GTD_Constraint ()
+               {
+                       // This is pretty weird, but match .NET behavior (note
+                       // that typeof(BConstrained<AConstrained<>>) is a
+                       // compile-time error with roslyn, but it's apparently
+                       // an ok thing to make with reflection.
+                       var tb = typeof (BConstrained<>);
+                       var ta = typeof (AConstrained<>);
+                       var result = tb.MakeGenericType (ta);
+                       Assert.IsNotNull (result, "#1");
+                       // lock down the answer to match what .NET makes
+                       Assert.IsTrue (result.IsGenericType, "#2");
+                       Assert.AreEqual (tb, result.GetGenericTypeDefinition (), "#3");
+                       var bargs = result.GetGenericArguments ();
+                       Assert.AreEqual (1, bargs.Length, "#4");
+                       var arg = bargs [0];
+                       Assert.IsTrue (arg.IsGenericType, "#5");
+                       // N.B. evidently AConstrained`1 and AConstrained`1<!0> are the same type
+                       Assert.IsTrue (arg.IsGenericTypeDefinition, "#6");
+                       Assert.AreEqual (ta, arg.GetGenericTypeDefinition (), "#7");
+                       var aargs = arg.GetGenericArguments ();
+                       Assert.AreEqual (1, aargs.Length, "#8");
+                       Assert.AreEqual (ta.GetGenericArguments () [0], aargs [0], "#9");
+               }
+
        [Test]
        public void EqualsUserType () {
                UserType2 t1 = new UserType2(null);
diff --git a/mcs/class/corlib/corert/ThreadPoolBoundHandle.cs b/mcs/class/corlib/corert/ThreadPoolBoundHandle.cs
new file mode 100644 (file)
index 0000000..e159738
--- /dev/null
@@ -0,0 +1,65 @@
+#if !MULTIPLEX_OS
+
+namespace System.Threading
+{
+       public sealed class ThreadPoolBoundHandle : IDisposable
+       {
+               internal ThreadPoolBoundHandle ()
+               {
+               }
+
+               public System.Runtime.InteropServices.SafeHandle Handle {
+                       get {
+                               throw new PlatformNotSupportedException ();
+                       }
+               }
+
+               [System.CLSCompliantAttribute (false)]
+               public unsafe System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData)
+               {
+                       throw new PlatformNotSupportedException ();
+               }
+
+               [System.CLSCompliantAttribute (false)]
+               public unsafe System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.PreAllocatedOverlapped preAllocated)
+               {
+                       throw new PlatformNotSupportedException ();
+               }
+
+               public static System.Threading.ThreadPoolBoundHandle BindHandle (System.Runtime.InteropServices.SafeHandle handle)
+               {
+                       throw new PlatformNotSupportedException ();
+               }
+
+               public void Dispose ()
+               {
+
+               }
+
+               [System.CLSCompliantAttribute (false)]
+               public unsafe void FreeNativeOverlapped (System.Threading.NativeOverlapped* overlapped)
+               {
+                       throw new PlatformNotSupportedException ();
+               }
+
+               [System.CLSCompliantAttribute (false)]
+               public static unsafe object GetNativeOverlappedState (System.Threading.NativeOverlapped* overlapped)
+               {
+                       throw new PlatformNotSupportedException ();
+               }
+       }
+
+       public sealed partial class PreAllocatedOverlapped : IDisposable
+       {
+               [System.CLSCompliantAttribute (false)]
+               public PreAllocatedOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData)
+               {
+                       throw new PlatformNotSupportedException ();
+               }
+
+               public void Dispose ()
+               {
+               }
+       }
+}
+#endif
\ No newline at end of file
index 2a38db0914bb6b16fa4c63bba49afab9c3aa6f1b..3de800b1815e3314f07f426e9c94205b816375a3 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>612,618,1635,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;INSIDE_CORLIB;MONO_CULTURE_DATA;LIBC;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;MONO_FEATURE_CONSOLE;MONO_FEATURE_APPLETLS</DefineConstants>\r
+    <DefineConstants>TRACE;INSIDE_CORLIB;MONO_CULTURE_DATA;LIBC;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;MONO_FEATURE_CONSOLE;MONO_FEATURE_APPLETLS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>612,618,1635,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>INSIDE_CORLIB;MONO_CULTURE_DATA;LIBC;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;MONO_FEATURE_CONSOLE;MONO_FEATURE_APPLETLS</DefineConstants>\r
+    <DefineConstants>INSIDE_CORLIB;MONO_CULTURE_DATA;LIBC;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;FEATURE_PAL;GENERICS_WORK;FEATURE_LIST_PREDICATES;FEATURE_SERIALIZATION;FEATURE_ASCII;FEATURE_LATIN1;FEATURE_UTF7;FEATURE_UTF32;MONO_HYBRID_ENCODING_SUPPORT;FEATURE_ASYNC_IO;NEW_EXPERIMENTAL_ASYNC_IO;FEATURE_UTF32;FEATURE_EXCEPTIONDISPATCHINFO;FEATURE_CORRUPTING_EXCEPTIONS;FEATURE_EXCEPTION_NOTIFICATIONS;FEATURE_STRONGNAME_MIGRATION;FEATURE_USE_LCID;FEATURE_FUSION;FEATURE_CRYPTO;FEATURE_X509_SECURESTRINGS;FEATURE_SYNCHRONIZATIONCONTEXT;FEATURE_SYNCHRONIZATIONCONTEXT_WAIT;HAS_CORLIB_CONTRACTS;FEATURE_MACL;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;MONO_FEATURE_CONSOLE;MONO_FEATURE_APPLETLS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\referencesource\mscorlib\system\activator.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\AggregateException.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\AppContext\AppContext.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\AppContext\AppContextSwitches.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\appdomainattributes.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\appdomainunloadedexception.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\applicationexception.cs" />\r
     <Compile Include="corert\Interop.MemAllocFree.cs" />\r
     <Compile Include="corert\RelocatedTypeAttribute.cs" />\r
     <Compile Include="corert\RuntimeThread.cs" />\r
+    <Compile Include="corert\ThreadPoolBoundHandle.cs" />\r
     <Compile Include="Microsoft.Win32\IRegistryApi.cs" />\r
     <Compile Include="Microsoft.Win32\Registry.cs" />\r
     <Compile Include="Microsoft.Win32\RegistryHive.cs" />\r
     <Compile Include="Mono\SafeGPtrArrayHandle.cs" />\r
     <Compile Include="Mono\SafeStringMarshal.cs" />\r
     <Compile Include="ReferenceSources\__ConsoleStream.cs" />\r
-    <Compile Include="ReferenceSources\AppContextSwitches.cs" />\r
+    <Compile Include="ReferenceSources\AppContextDefaultValues.cs" />\r
     <Compile Include="ReferenceSources\AppDomain.cs" />\r
     <Compile Include="ReferenceSources\Array.cs" />\r
     <Compile Include="ReferenceSources\BCLDebug.cs" />\r
index 2db2f88231d712800b98d44de0ea1e5cf5b85c24..e7c20642094b4b080c0fc388fea1d26c776ad09e 100644 (file)
@@ -871,7 +871,6 @@ System.Threading.Tasks/DecoupledTask.cs
 ../Mono.Parallel/Mono.Threading/AtomicBoolean.cs
 
 ReferenceSources/__ConsoleStream.cs
-ReferenceSources/AppContextSwitches.cs
 ReferenceSources/Array.cs
 ReferenceSources/BCLDebug.cs
 ReferenceSources/CalendarData.cs
@@ -1053,6 +1052,8 @@ ReferenceSources/Type.cs
 ../referencesource/mscorlib/system/version.cs
 
 ../referencesource/mscorlib/system/AppContext/AppContext.cs
+../referencesource/mscorlib/system/AppContext/AppContextSwitches.cs
+ReferenceSources/AppContextDefaultValues.cs
 
 ../referencesource/mscorlib/system/collections/arraylist.cs
 ../referencesource/mscorlib/system/collections/bitarray.cs
@@ -1638,30 +1639,16 @@ coreclr/SorterArray.cs
 corert/AddrofIntrinsics.cs
 corert/Debug.cs
 corert/EnvironmentAugments.cs
-corert/Interop.cs
-corert/Interop.MemAllocFree.cs
 corert/RelocatedTypeAttribute.cs
 corert/RuntimeThread.cs
+corert/ThreadPoolBoundHandle.cs
 
 ../../../external/corert/src/Common/src/Interop/Unix/Interop.Libraries.cs
 
-../../../external/corert/src/Common/src/Interop/Unix/System.Private.CoreLib.Native/Interop.MemAllocFree.cs
-
-../../../external/corert/src/Common/src/Interop/Windows/Interop.Libraries.cs
-
-../../../external/corert/src/Common/src/Interop/Windows/mincore/Interop.MemAllocFree.cs
-../../../external/corert/src/Common/src/Interop/Windows/mincore/Interop.ThreadPoolIO.cs
-
 ../../../external/corert/src/Common/src/System/Numerics/Hashing/HashHelpers.cs
 
 ../../../external/corert/src/Runtime.Base/src/System/Runtime/InteropServices/NativeCallableAttribute.cs
 
-
-../../../external/corert/src/System.Private.CoreLib/shared/Interop/Windows/Interop.Errors.cs
-../../../external/corert/src/System.Private.CoreLib/shared/Interop/Windows/Interop.Libraries.cs
-
-../../../external/corert/src/System.Private.CoreLib/shared/Interop/Windows/Kernel32/Interop.FormatMessage.cs
-
 ../../../external/corert/src/System.Private.CoreLib/shared/System/TupleExtensions.cs
 ../../../external/corert/src/System.Private.CoreLib/shared/System/ValueTuple.cs
 
@@ -1671,16 +1658,12 @@ corert/RuntimeThread.cs
 
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Diagnostics/Debug.cs
 
-../../../external/corert/src/System.Private.CoreLib/shared/System/IO/Win32Marshal.cs
-
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/ITuple.cs
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/TupleElementNamesAttribute.cs
 
 ../../../external/corert/src/System.Private.CoreLib/shared/System/Threading/DeferredDisposableLifetime.cs
 
 
-../../../external/corert/src/System.Private.CoreLib/src/Microsoft/Win32/SafeHandles/SafeThreadPoolIOHandle.cs
-
 ../../../external/corert/src/System.Private.CoreLib/src/System/Array.cs
 ../../../external/corert/src/System.Private.CoreLib/src/System/Tuple.cs
 
@@ -1692,12 +1675,6 @@ corert/RuntimeThread.cs
 ../../../external/corert/src/System.Private.CoreLib/src/System/Collections/Generic/Dictionary.cs
 ../../../external/corert/src/System.Private.CoreLib/src/System/Collections/Generic/NonRandomizedStringEqualityComparer.cs
 
-../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolBoundHandle.cs
-../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolNativeOverlapped.cs
-../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolNativeOverlapped.ExecutionContextCallbackArgs.cs
-../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolNativeOverlapped.OverlappedData.cs
-../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolPreAllocatedOverlapped.cs
-
 corefx/SR.cs
 
 ../../../external/corefx/src/System.Collections.Concurrent/src/System/Collections/Concurrent/CDSCollectionETWBCLProvider.cs
diff --git a/mcs/class/corlib/net_4_x_corlib.dll.sources b/mcs/class/corlib/net_4_x_corlib.dll.sources
new file mode 100644 (file)
index 0000000..d1a48ce
--- /dev/null
@@ -0,0 +1,26 @@
+#include corlib.dll.sources
+
+corert/Interop.cs
+corert/Interop.MemAllocFree.cs
+
+../../../external/corert/src/System.Private.CoreLib/shared/Interop/Windows/Interop.Errors.cs
+../../../external/corert/src/System.Private.CoreLib/shared/Interop/Windows/Interop.Libraries.cs
+
+../../../external/corert/src/System.Private.CoreLib/shared/Interop/Windows/Kernel32/Interop.FormatMessage.cs
+
+../../../external/corert/src/System.Private.CoreLib/shared/System/IO/Win32Marshal.cs
+
+../../../external/corert/src/Common/src/Interop/Windows/mincore/Interop.MemAllocFree.cs
+../../../external/corert/src/Common/src/Interop/Windows/mincore/Interop.ThreadPoolIO.cs
+
+../../../external/corert/src/Common/src/Interop/Windows/Interop.Libraries.cs
+
+../../../external/corert/src/Common/src/Interop/Unix/System.Private.CoreLib.Native/Interop.MemAllocFree.cs
+
+../../../external/corert/src/System.Private.CoreLib/src/Microsoft/Win32/SafeHandles/SafeThreadPoolIOHandle.cs
+
+../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolBoundHandle.cs
+../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolNativeOverlapped.cs
+../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolNativeOverlapped.ExecutionContextCallbackArgs.cs
+../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolNativeOverlapped.OverlappedData.cs
+../../../external/corert/src/System.Private.CoreLib/src/System/Threading/Win32ThreadPoolPreAllocatedOverlapped.cs
index 1164355a18c9ddebc6dcaa65be06c5d5a55b034b..381656bb80fa3d118be81da8c56bd1cd3daba460 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_3_5</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_3_5</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d7b9717c7fa0dcd618a4bf54c104d02979b7606a..d84f7a1ac3e6bd6303a69a6810bb446aea8de8de 100644 (file)
@@ -8,8 +8,6 @@ LIBRARY_PACKAGE = monodoc
 # also activate legacy mode to compile old monodoc.dll api
 LOCAL_MCS_FLAGS = /nowarn:618,612,672,809,414,649 /define:LEGACY_MODE
 
-JAY_FLAGS = -ct
-
 IMAGES = \
        Resources/images/bc_bg.png              \
        Resources/images/bc_separator.png       \
@@ -53,10 +51,9 @@ IMAGES = \
        Resources/images/reference.png          \
        Resources/images/treebg.png             
 
-IMAGE_RESOURCE_COMMAND = $(foreach file,$(IMAGES),/resource:$(file),$(notdir $(file)))
+IMAGE_RESOURCE_COMMAND = $(foreach file,$(IMAGES),/resource:../../../external/api-doc-tools/monodoc/$(file),$(notdir $(file)))
 
 RESOURCE_FILES = \
-       ../../docs/monodoc.xml            \
        Resources/base.css                \
        Resources/ecmaspec-html-css.xsl   \
        Resources/ecmaspec-html.xsl       \
@@ -74,42 +71,20 @@ RESOURCE_FILES = \
        Resources/mono-ecma-impl.xsl      \
        Resources/mono-ecma.css           \
        Resources/mono-ecma.xsl                 \
-       Resources/toc-html.xsl           \
-       $(IMAGES)
+       Resources/toc-html.xsl
+
+RESOURCE_COMMAND = $(foreach file,$(RESOURCE_FILES),/resource:../../../external/api-doc-tools/monodoc/$(file),$(notdir $(file)))
+
 
 EXTRA_DISTFILES = \
-       jay.sh \
        monodoc.dll.config.in   \
-       $(RESOURCE_FILES)   \
-       Monodoc.Ecma/EcmaUrlParser.jay \
-       Test/monodoc_test/monodoc.xml \
-       Test/monodoc_test/trees/tree-from-2-10.tree \
-       Test/monodoc_test/trees/tree-from-3-0-old.tree \
-       Test/monodoc_test/trees/tree-from-3-0.tree
 
 LIB_REFS = ICSharpCode.SharpZipLib System System.Core System.Xml System.Xml.Linq System.Configuration
 LIB_MCS_FLAGS = \
        /unsafe                                                           \
        /nowarn:169,164,162,168,219,618,612                               \
        /resource:../../docs/monodoc.xml,monodoc.xml                      \
-       /resource:Resources/base.css,base.css                             \
-       /resource:Resources/ecmaspec-html-css.xsl,ecmaspec-html-css.xsl   \
-       /resource:Resources/ecmaspec-html.xsl,ecmaspec-html.xsl           \
-       /resource:Resources/ecmaspec.css,ecmaspec.css                     \
-       /resource:Resources/helper.js,helper.js                           \
-       /resource:Resources/home.html,home.html                           \
-       /resource:Resources/Lminus.gif,Lminus.gif                         \
-       /resource:Resources/Lplus.gif,Lplus.gif                           \
-       /resource:Resources/creativecommons.png,creativecommons.png       \
-       /resource:Resources/mdoc-html-format.xsl,mdoc-html-format.xsl     \
-       /resource:Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl       \
-       /resource:Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl   \
-       /resource:Resources/mdoc-sections.xsl,mdoc-sections.xsl           \
-       /resource:Resources/mono-ecma-css.xsl,mono-ecma-css.xsl           \
-       /resource:Resources/mono-ecma-impl.xsl,mono-ecma-impl.xsl         \
-       /resource:Resources/mono-ecma.css,mono-ecma.css                   \
-       /resource:Resources/mono-ecma.xsl,mono-ecma.xsl                   \
-       /resource:Resources/toc-html.xsl,toc-html.xsl                     \
+       $(RESOURCE_COMMAND) \
        $(IMAGE_RESOURCE_COMMAND)
 
 CLEAN_FILES += $(the_lib).config
@@ -117,31 +92,10 @@ CLEAN_FILES += $(the_lib).config
 TEST_MCS_FLAGS =
 TEST_LIB_REFS = System System.Core System.Xml
 
-DOC_SOURCE_DIRS = \
-       ../../docs \
-       ../../../docs
-
-DOC_SOURCES = $(foreach dir,$(DOC_SOURCE_DIRS),$(wildcard $(dir)/*.source $(dir)/*.tree $(dir)/*.zip))
-
 include ../../build/library.make
 
-$(the_lib): Makefile $(RESOURCE_FILES)
+all-local: $(the_lib).config
 
-all-local: $(the_lib).config Monodoc.Ecma/EcmaUrlParser.cs
-
-test-local: setup-doc-sources
-
-dist-local: Monodoc.Ecma/EcmaUrlParser.cs
-
-$(the_lib).config: Makefile monodoc.dll.config.in
+$(the_lib).config: monodoc.dll.config.in
        sed 's,@monodoc_refdir@,$(mono_libdir)/monodoc,g' monodoc.dll.config.in > $@
 
-Monodoc.Ecma/EcmaUrlParser.cs: Monodoc.Ecma/EcmaUrlParser.jay $(topdir)/jay/skeleton.cs jay.sh
-       $(topdir)/$(thisdir)/jay.sh $(topdir) $< $@ $(JAY_FLAGS)
-
-parser.exe: Monodoc.Ecma/EcmaUrlParser.cs Monodoc.Ecma/EcmaUrlTokenizer.cs Monodoc.Ecma/EcmaUrlParserDriver.cs Monodoc.Ecma/EcmaDesc.cs
-       mcs /out:$@ /debug $^
-
-setup-doc-sources: $(DOC_SOURCES)
-       mkdir -p ./Test/monodoc_test/sources/
-       cp $(DOC_SOURCES) ./Test/monodoc_test/sources/
diff --git a/mcs/class/monodoc/Mono.Documentation/ManifestResourceResolver.cs b/mcs/class/monodoc/Mono.Documentation/ManifestResourceResolver.cs
deleted file mode 100644 (file)
index 402d137..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.IO;
-using System.Reflection;
-using System.Xml;
-
-namespace Mono.Documentation {
-       public class ManifestResourceResolver : XmlUrlResolver {
-               private string[] dirs;
-
-               public ManifestResourceResolver (params string[] dirs)
-               {
-                       this.dirs = (string[]) dirs.Clone ();
-               }
-
-               public override Uri ResolveUri (Uri baseUri, string relativeUri)
-               {
-                       if (Array.IndexOf (
-                                               Assembly.GetExecutingAssembly ().GetManifestResourceNames (), 
-                                               relativeUri) >= 0)
-                                       return new Uri ("x-resource:///" + relativeUri);
-                       foreach (var dir in dirs) {
-                               if (File.Exists (Path.Combine (dir, relativeUri)))
-                                       return base.ResolveUri (new Uri ("file://" + new DirectoryInfo (dir).FullName + "/"), 
-                                                       relativeUri);
-                       }
-                       return base.ResolveUri (baseUri, relativeUri);
-               }
-
-               public override object GetEntity (Uri absoluteUri, string role, Type ofObjectToReturn)
-               {
-                       if (ofObjectToReturn == null)
-                               ofObjectToReturn = typeof(Stream);
-                       if (ofObjectToReturn != typeof(Stream))
-                               throw new XmlException ("This object type is not supported.");
-                       if (absoluteUri.Scheme != "x-resource")
-                               return base.GetEntity (absoluteUri, role, ofObjectToReturn);
-                       return Assembly.GetExecutingAssembly().GetManifestResourceStream (
-                                       absoluteUri.Segments [1]);
-               }
-       }
-}
-
diff --git a/mcs/class/monodoc/Mono.Documentation/XmlDocUtils.cs b/mcs/class/monodoc/Mono.Documentation/XmlDocUtils.cs
deleted file mode 100644 (file)
index 2f4cd08..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-using System;
-using System.Collections;
-using System.IO;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Web;
-using System.Xml;
-
-namespace Mono.Documentation {
-
-       public delegate XmlDocument DocLoader (string escapedTypeName);
-
-       public static class XmlDocUtils
-       {
-               public static XmlNodeList GetMemberGenericParameters (XmlNode member)
-               {
-                       return member.SelectNodes ("Docs/typeparam");
-               }
-
-               public static XmlNodeList GetTypeGenericParameters (XmlNode member)
-               {
-                       return member.SelectNodes ("/Type/TypeParameters/TypeParameter");
-               }
-
-               public static string ToTypeName (string type, XmlNode member)
-               {
-                       return ToTypeName (type, GetTypeGenericParameters (member), 
-                                       GetMemberGenericParameters (member));
-               }
-
-               public static string ToTypeName (string type, XmlNodeList typeGenParams, XmlNodeList memberGenParams)
-               {
-                       type = type.Replace ("&", "@").Replace ("<", "{").Replace (">", "}");
-                       for (int i = 0; i < typeGenParams.Count; ++i) {
-                               string name = typeGenParams [i].InnerText;
-                               type = Regex.Replace (type, @"\b" + name + @"\b", "`" + i);
-                       }
-                       for (int i = 0; i < memberGenParams.Count; ++i) {
-                               string name = memberGenParams [i].Attributes ["name"].Value;
-                               type = Regex.Replace (type, @"\b" + name + @"\b", "``" + i);
-                       }
-                       return type;
-               }
-
-               public static string ToEscapedTypeName (string name)
-               {
-                       return GetCountedName (name, "`");
-               }
-
-               private static string GetCountedName (string name, string escape)
-               {
-                       int lt = name.IndexOf ("<");
-                       if (lt == -1)
-                               return name;
-                       StringBuilder type = new StringBuilder (name.Length);
-                       int start = 0;
-                       do {
-                               type.Append (name.Substring (start, lt - start));
-                               type.Append (escape);
-                               type.Append (GetGenericCount (name, lt, out start));
-                       } while ((lt = name.IndexOf ('<', start)) >= 0);
-                       if (start < name.Length)
-                               type.Append (name.Substring (start));
-                       return type.ToString ().Replace ("+", ".");
-               }
-
-               private static int GetGenericCount (string name, int start, out int end)
-               {
-                       int n = 1;
-                       bool r = true;
-                       int i = start;
-                       int depth = 1;
-                       for ( ++i; r && i < name.Length; ++i) {
-                               switch (name [i]) {
-                                       case ',': if (depth == 1) ++n; break;
-                                       case '<': ++depth; break;
-                                       case '>': --depth; if (depth == 0) r = false; break;
-                               }
-                       }
-                       end = i;
-                       return n;
-               }
-
-               public static string ToEscapedMemberName (string member)
-               {
-                       // Explicitly implemented interface members contain '.'s in the member
-                       // name, e.g. System.Collections.Generic.IEnumerable<A>.GetEnumerator.
-                       // CSC does a s/\./#/g for these.
-                       member = member.Replace (".", "#");
-                       if (member [member.Length-1] == '>') {
-                               int i = member.LastIndexOf ("<");
-                               int ignore;
-                               return member.Substring (0, i).Replace ("<", "{").Replace (">", "}") + 
-                                       "``" + GetGenericCount (member, i, out ignore);
-                       }
-                       return member.Replace ("<", "{").Replace (">", "}");
-               }
-
-               public static void AddExtensionMethods (XmlDocument typexml, ArrayList/*<XmlNode>*/ extensions, DocLoader loader)
-               {
-                       // if no members (enum, delegate) don't add extensions
-                       XmlNode m = typexml.SelectSingleNode ("/Type/Members");
-                       if (m == null)
-                               return;
-
-                       // static classes can't be targets:
-                       if (typexml.SelectSingleNode (
-                                               "/Type/TypeSignature[@Language='C#']/@Value")
-                                       .Value.IndexOf (" static ") >= 0)
-                               return;
-
-                       foreach (string s in GetSupportedTypes (typexml, loader)) {
-                               foreach (XmlNode extension in extensions) {
-                                       bool add = false;
-                                       foreach (XmlNode target in extension.SelectNodes ("Targets/Target")) {
-                                               if (target.Attributes ["Type"].Value == s) {
-                                                       add = true;
-                                                       break;
-                                               }
-                                       }
-                                       if (!add) {
-                                               continue;
-                                       }
-                                       foreach (XmlNode c in extension.SelectNodes ("Member")) {
-                                               XmlNode cm = typexml.ImportNode (c, true);
-                                               m.AppendChild (cm);
-                                       }
-                               }
-                       }
-               }
-
-               private static IEnumerable GetSupportedTypes (XmlDocument type, DocLoader loader)
-               {
-                       yield return "System.Object";
-                       yield return GetEscapedPath (type, "Type/@FullName");
-
-                       Hashtable h = new Hashtable ();
-                       GetInterfaces (h, type, loader);
-
-                       string s = GetEscapedPath (type, "Type/Base/BaseTypeName");
-                       if (s != null) {
-                               yield return s;
-                               XmlDocument d;
-                               string p = s;
-                               while (s != null && (d = loader (s)) != null) {
-                                       GetInterfaces (h, d, loader);
-                                       s = GetEscapedPath (d, "Type/Base/BaseTypeName");
-                                       if (p == s)
-                                               break;
-                                       yield return s;
-                               }
-                       }
-
-                       foreach (object o in h.Keys)
-                               yield return o.ToString ();
-               }
-
-               private static string GetEscapedPath (XmlDocument d, string path)
-               {
-                       XmlNode n = d.SelectSingleNode (path);
-                       if (n == null)
-                               return null;
-                       return "T:" + ToEscapedTypeName (n.InnerText);
-               }
-
-               private static void GetInterfaces (Hashtable ifaces, XmlDocument doc, DocLoader loader)
-               {
-                       foreach (XmlNode n in doc.SelectNodes ("Type/Interfaces/Interface/InterfaceName")) {
-                               string t = ToEscapedTypeName (n.InnerText);
-                               string tk = "T:" + t;
-                               if (!ifaces.ContainsKey (tk)) {
-                                       ifaces.Add (tk, null);
-                                       try {
-                                               XmlDocument d = loader (t);
-                                               if (d != null)
-                                                       GetInterfaces (ifaces, d, loader);
-                                       }
-                                       catch (FileNotFoundException e) {
-                                               // ignore; interface documentation couldn't be found.
-                                       }
-                               }
-                       }
-               }
-
-               // Turns e.g. sources/netdocs into sources/cache/netdocs
-               public static string GetCacheDirectory (string assembledBase)
-               {
-                       return Path.Combine (
-                                               Path.Combine (Path.GetDirectoryName (assembledBase), "cache"),
-                                               Path.GetFileName (assembledBase));
-               }
-
-               public static string GetCachedFileName (string cacheDir, string url)
-               {
-                       return Path.Combine (cacheDir,
-                                            Uri.EscapeUriString (url).Replace ('/', '+').Replace ("*", "%2a"));
-               }
-       }
-}
-
diff --git a/mcs/class/monodoc/Mono.Utilities/LRUCache.cs b/mcs/class/monodoc/Mono.Utilities/LRUCache.cs
deleted file mode 100644 (file)
index e479a96..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace Mono.Utilities
-{
-    public class LRUCache<TKey, TValue>
-    {
-           [ThreadStatic]
-           static LRUCache<TKey, TValue> deflt;
-
-           public static LRUCache<TKey, TValue> Default {
-                   get {
-                           return deflt != null ? deflt : (deflt = new LRUCache<TKey, TValue> (5));
-                   }
-           }
-
-        int capacity;
-        LinkedList<ListValueEntry<TKey, TValue>> list;
-        Dictionary<TKey, LinkedListNode<ListValueEntry<TKey, TValue>>> lookup;
-        LinkedListNode<ListValueEntry<TKey, TValue>> openNode;
-
-        public LRUCache (int capacity)
-        {
-            this.capacity = capacity;
-            this.list = new LinkedList<ListValueEntry<TKey, TValue>>();
-            this.lookup = new Dictionary<TKey, LinkedListNode<ListValueEntry<TKey, TValue>>> (capacity + 1);
-            this.openNode = new LinkedListNode<ListValueEntry<TKey, TValue>>(new ListValueEntry<TKey, TValue> (default(TKey), default(TValue)));
-        }
-
-        public void Put (TKey key, TValue value)
-        {
-            if (Get(key) == null) {
-                this.openNode.Value.ItemKey = key;
-                this.openNode.Value.ItemValue = value;
-                this.list.AddFirst (this.openNode);
-                this.lookup.Add (key, this.openNode);
-
-                if (this.list.Count > this.capacity) {
-                    // last node is to be removed and saved for the next addition to the cache
-                    this.openNode = this.list.Last;
-
-                    // remove from list & dictionary
-                    this.list.RemoveLast();
-                    this.lookup.Remove(this.openNode.Value.ItemKey);
-                } else {
-                    // still filling the cache, create a new open node for the next time
-                    this.openNode = new LinkedListNode<ListValueEntry<TKey, TValue>>(new ListValueEntry<TKey, TValue>(default(TKey), default(TValue)));
-                }
-            }
-        }
-
-        public TValue Get (TKey key)
-        {
-            LinkedListNode<ListValueEntry<TKey, TValue>> node = null;
-            if (!this.lookup.TryGetValue (key, out node))
-                return default (TValue);
-            this.list.Remove (node);
-            this.list.AddFirst (node);
-            return node.Value.ItemValue;
-        }
-
-        class ListValueEntry<K, V> where K : TKey 
-                                   where V : TValue
-        {
-            internal V ItemValue;
-            internal K ItemKey;
-
-            internal ListValueEntry(K key, V value)
-            {
-                this.ItemKey = key;
-                this.ItemValue = value;
-            }
-        }
-    }
-}
diff --git a/mcs/class/monodoc/Mono.Utilities/MemoryLRU.cs b/mcs/class/monodoc/Mono.Utilities/MemoryLRU.cs
deleted file mode 100644 (file)
index 8b74861..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace Mono.Utilities
-{
-    public class LRUCache<TKey, TValue>
-    {
-           [ThreadStatic]
-           static LRUCache<TKey, TValue> deflt;
-
-           public static LRUCache<TKey, TValue> Default {
-                   get {
-                           return deflt != null ? deflt : (deflt = new LRUCache<TKey, TValue> (5));
-                   }
-           }
-
-        int capacity;
-        LinkedList<ListValueEntry<TKey, TValue>> list;
-        Dictionary<TKey, LinkedListNode<ListValueEntry<TKey, TValue>>> lookup;
-        LinkedListNode<ListValueEntry<TKey, TValue>> openNode;
-
-        public LRUCache (int capacity)
-        {
-            this.capacity = capacity;
-            this.list = new LinkedList<ListValueEntry<TKey, TValue>>();
-            this.lookup = new Dictionary<TKey, LinkedListNode<ListValueEntry<TKey, TValue>>> (capacity + 1);
-            this.openNode = new LinkedListNode<ListValueEntry<TKey, TValue>>(new ListValueEntry<TKey, TValue> (default(TKey), default(TValue)));
-        }
-
-        public void Put (TKey key, TValue value)
-        {
-            if (Get(key) == null) {
-                this.openNode.Value.Itemkey = key;
-                this.openNode.Value.Itemvalue = value;
-                this.list.AddFirst (this.openNode);
-                this.lookup.Add (key, this.openNode);
-
-                if (this.list.Count > this.capacity) {
-                    // last node is to be removed and saved for the next addition to the cache
-                    this.openNode = this.list.Last;
-
-                    // remove from list & dictionary
-                    this.list.RemoveLast();
-                    this.lookup.Remove(this.openNode.Value.Itemkey);
-                } else {
-                    // still filling the cache, create a new open node for the next time
-                    this.openNode = new LinkedListNode<ListValueEntry<Tkey, Tvalue>>(new ListValueEntry<Tkey, Tvalue>(default(Tkey), default(Tvalue)));
-                }
-            }
-        }
-
-        public TValue Get (TKey key)
-        {
-            LinkedListNode<ListValueEntry<TKey, TValue>> node = null;
-            if (!this.lookup.TryGetValue (key, out node))
-                return default (TValue);
-            this.list.Remove (node);
-            this.list.AddFirst (node);
-            return node.Value.ItemValue;
-        }
-
-        class ListValueEntry<K, V> where K : TKey 
-                                   where V : TValue
-        {
-            internal V ItemValue;
-            internal K ItemKey;
-
-            internal ListValueEntry(K key, V value)
-            {
-                this.ItemKey = key;
-                this.ItemValue = value;
-            }
-        }
-    }
-}
diff --git a/mcs/class/monodoc/Mono.Utilities/colorizer.cs b/mcs/class/monodoc/Mono.Utilities/colorizer.cs
deleted file mode 100644 (file)
index 7444624..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-using System;
-using System.Text.RegularExpressions;
-using System.Collections;
-
-namespace Mono.Utilities {
-       public class Colorizer {
-               //
-               // Syntax coloring
-               //
-
-               static string keywords_cs =
-                       "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|"
-                       +
-                       "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|"
-                       +
-                       "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|"
-                       +
-                       "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|"
-                       +
-                       "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|"
-                       +
-                       "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|"
-                       +
-                       "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|"
-                       +
-                       "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|"
-                       + "\\bnamespace\\b|\\bstring\\b)";
-
-#if false
-// currently not in use
-               static string keywords_vb =
-                       "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|"
-                       +
-                       "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|"
-                       +
-                       "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|"
-                       +
-                       "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|"
-                       +
-                       "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|"
-                       +
-                       "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|"
-                       +
-                       "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|"
-                       +
-                       "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|"
-                       +
-                       "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|"
-                       +
-                       "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|"
-                       +
-                       "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|"
-                       +
-                       "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|"
-                       +
-                       "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|"
-                       +
-                       "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|"
-                       +
-                       "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|"
-                       +
-                       "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|"
-                       +
-                       "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
-#endif
-       
-               public static string Colorize(string text, string lang)
-               {
-                       lang = lang.Trim().ToLower();
-                       switch (lang) {
-                       case "xml":
-                               return ColorizeXml(text);
-                       case "cs": case "c#": case "csharp":
-                               return ColorizeCs(text);
-                       case "vb":
-                               return ColorizeVb(text);
-                       }
-                       return Escape (text);
-               }
-
-               static string ColorizeXml(string text)
-               {
-                       // Order is highly important.
-
-                       // s/ /&nbsp;/g must be first, as later substitutions add required spaces
-                       text = text.Replace(" ", "&nbsp;");
-
-                       // Find & mark XML elements
-                       Regex re = new Regex("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
-                       text = re.Replace(text, "{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
-
-                       // Colorize attribute strings; must be done before colorizing marked XML
-                       // elements so that we don't clobber the colorized XML tags.
-                       re = new Regex ("([\"'])(.*?)\\1");
-                       text = re.Replace (text, 
-                                       "$1<font color=\"purple\">$2</font>$1");
-
-                       // Colorize marked XML elements
-                       re = new Regex("\\{(\\w*):([\\s\\S]*?)\\}");
-                       //text = re.Replace(text, "<span style='color:$1'>$2</span>");
-                       text = re.Replace(text, "<font color=\"$1\">$2</font>");
-
-                       // Standard Structure
-                       text = text.Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
-                       re = new Regex("\r\n|\r|\n");
-                       text = re.Replace(text, "<br/>");
-
-                       return text;
-               }
-
-               static string ColorizeCs(string text)
-               {
-                       text = text.Replace(" ", "&nbsp;");
-
-                       text = text.Replace("<", "&lt;");
-                       text = text.Replace(">", "&gt;");
-
-                       Regex re = new Regex("\"((((?!\").)|\\\")*?)\"");
-
-                       text =
-                               re.Replace(text,
-                                               "<font color=\"purple\">\"$1\"</font>");
-                                               //"<span style='color:purple'>\"$1\"</span>");
-
-                       re = new
-                               Regex
-                               ("//(((.(?!\"</font>))|\"(((?!\").)*)\"</font>)*)(\r|\n|\r\n)");
-                               //("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
-                       text =
-                               re.Replace(text,
-                                               "<font color=\"green\">//$1</font><br/>");
-                                       //      "<span style='color:green'>//$1</span><br/>");
-
-                       re = new Regex(keywords_cs);
-                       text = re.Replace(text, "<font color=\"blue\">$1</font>");
-                       //text = re.Replace(text, "<span style='color:blue'>$1</span>");
-
-                       text = text.Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
-                       text = text.Replace("\n", "<br/>");
-
-                       return text;
-               }
-
-               static string ColorizeVb(string text) {
-                       text = text.Replace(" ", "&nbsp;");
-
-                       /*      Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
-                               text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
-
-                               re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
-                               text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
-
-                               re = new Regex (keywords_vb);
-                               text = re.Replace (text,"<span style='color:blue'>$1</span>");
-                        */
-                       text = text.Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
-                       text = text.Replace("\n", "<br/>");
-                       return text;
-               }
-
-               static string Escape(string text)
-               {
-                       text = text.Replace("&", "&amp;");
-                       text = text.Replace(" ", "&nbsp;");
-                       text = text.Replace("<", "&lt;");
-                       text = text.Replace(">", "&gt;");
-                       text = text.Replace("\n", "<br/>");
-                       return text;
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc.Ecma/.gitignore b/mcs/class/monodoc/Monodoc.Ecma/.gitignore
deleted file mode 100644 (file)
index d698948..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/EcmaUrlParser.cs
diff --git a/mcs/class/monodoc/Monodoc.Ecma/EcmaDesc.cs b/mcs/class/monodoc/Monodoc.Ecma/EcmaDesc.cs
deleted file mode 100644 (file)
index 2f46c6c..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-using System;
-using System.Linq;
-using System.Text;
-using System.Collections.Generic;
-
-namespace Monodoc.Ecma
-{
-       /* Some properties might not be filled/meaningful depending on kind
-        * like a namespace EcmaUrl won't have a valid TypeName
-        */
-       public class EcmaDesc : IEquatable<EcmaDesc>
-       {
-               public enum Kind
-               {
-                       Type,
-                       Constructor,
-                       Method,
-                       Namespace,
-                       Field,
-                       Property,
-                       Event,
-                       Operator
-               }
-
-               public enum Mod
-               {
-                       Normal,
-                       Pointer,
-                       Ref,
-                       Out
-               }
-
-               public enum Format
-               {
-                       WithArgs,
-                       WithoutArgs
-               }
-
-               public Kind DescKind {
-                       get;
-                       set;
-               }
-
-               public Mod DescModifier {
-                       get;
-                       set;
-               }
-
-               public string Namespace {
-                       get;
-                       set;
-               }
-
-               public string TypeName {
-                       get;
-                       set;
-               }
-
-               public string MemberName {
-                       get;
-                       set;
-               }
-
-               public EcmaDesc NestedType {
-                       get;
-                       set;
-               }
-
-               /* A list of the array dimensions attached to this type.
-                * The list count corresponds to the number of recursive
-                * array definition (jagged arrays) the value of the
-                * corresponding list item is the number of dimension
-                * attached to that array definition instance
-                */
-               public IList<int> ArrayDimensions {
-                       get;
-                       set;
-               }
-
-               /* Depending on the form of the url, we might not have the type
-                * of the argument but only how many the type/member has i.e.
-                * when such number is specified with a backtick
-                */
-               public IList<EcmaDesc> GenericTypeArguments {
-                       get;
-                       set;
-               }
-
-               /* The GenericTypeArguments list may be null, in which case, this
-                * is an easier/safer way to check the count.
-                */
-               public int GenericTypeArgumentsCount {
-                       get { return GenericTypeArguments != null ? GenericTypeArguments.Count : 0; }
-               }
-
-               /* This property tells if the above collections only correct value
-                * is the number of item in it to represent generic arguments
-                */
-               public bool GenericTypeArgumentsIsNumeric {
-                       get {
-                               return GenericTypeArguments != null && GenericTypeArguments.FirstOrDefault () == null;
-                       }
-               }
-
-               public IList<EcmaDesc> GenericMemberArguments {
-                       get;
-                       set;
-               }
-
-               /* The GenericMemberArguments list may be null, in which case, this
-                * is an easier/safer way to check the count.
-                */
-               public int GenericMemberArgumentsCount {
-                       get { return GenericMemberArguments != null ? GenericMemberArguments.Count : 0; }
-               }
-
-               public bool GenericMemberArgumentsIsNumeric {
-                       get {
-                               return GenericMemberArguments != null && GenericMemberArguments.FirstOrDefault () == null;
-                       }
-               }
-
-               public IList<EcmaDesc> MemberArguments {
-                       get;
-                       set;
-               }
-
-               /* The GenericTypeArguments list may be null, in which case, this
-                * is an easier/safer way to check the count.
-                */
-               public int MemberArgumentsCount {
-                       get { return MemberArguments != null ? MemberArguments.Count : 0; }
-               }
-
-               /* This indicates that we actually want an inner part of the ecmadesc
-                * i.e. in case of T: we could want the members (*), ctor (C), methods (M), ...
-                */
-               public char Etc {
-                       get;
-                       set;
-               }
-
-               public bool IsEtc {
-                       get {
-                               return Etc != (char)0;
-                       }
-               }
-
-               /* EtcFilter is only valid in some case of IsEtc when the inner part needs
-                * to be further filtered e.g. in case we want a listing of the type overloads
-                * Equals
-                */
-               public string EtcFilter {
-                       get;
-                       set;
-               }
-
-               /* When a member is an explicit implementation of an interface member, we register
-                * the member EcmaDesc with its interface parent here
-                */
-               public EcmaDesc ExplicitImplMember {
-                       get;
-                       set;
-               }
-
-               // Returns the TypeName and the generic/inner type information if existing
-               public string ToCompleteTypeName (char innerTypeSeparator = '.')
-               {
-                       var result = TypeName;
-                       if (GenericTypeArguments != null)
-                               result += FormatGenericArgs (GenericTypeArguments);
-                       if (NestedType != null)
-                               result += innerTypeSeparator + NestedType.ToCompleteTypeName ();
-                       if (ArrayDimensions != null && ArrayDimensions.Count > 0)
-                               result += ArrayDimensions.Select (dim => "[" + new string (',', dim - 1) + "]").Aggregate (string.Concat);
-
-                       return result;
-               }
-
-               // Returns the member name with its generic types if existing
-               public string ToCompleteMemberName (Format format)
-               {
-                       /* We special process two cases:
-                        *   - Explicit member implementation which append a full type specification
-                        *   - Conversion operator which are exposed as normal method but have specific captioning in the end
-                        */
-                       if (ExplicitImplMember != null) {
-                               var impl = ExplicitImplMember;
-                               return impl.FormattedNamespace + impl.ToCompleteTypeName () + "." + impl.ToCompleteMemberName (format);
-                       } else if (format == Format.WithArgs && DescKind == Kind.Operator && MemberName.EndsWith ("Conversion")) {
-                               var type1 = MemberArguments[0].FormattedNamespace + MemberArguments[0].ToCompleteTypeName () + ModToString (MemberArguments[0]);
-                               var type2 = MemberArguments[1].FormattedNamespace + MemberArguments[1].ToCompleteTypeName () + ModToString (MemberArguments[1]);
-                               return type1 + " to " + type2;
-                       }
-
-                       var result = IsEtc && !string.IsNullOrEmpty (EtcFilter) ? EtcFilter : MemberName;
-
-                       // Temporary hack for monodoc produced inner type ctor
-                       //if (DescKind == Kind.Constructor && NestedType != null)
-                               //result = ToCompleteTypeName ();
-
-                       if (GenericMemberArguments != null)
-                               result += FormatGenericArgs (GenericMemberArguments);
-
-                       if (format == Format.WithArgs) {
-                               result += '(';
-                               if (MemberArguments != null && MemberArguments.Count > 0) {
-                                       var args = MemberArguments.Select (a => FormatNamespace (a) + a.ToCompleteTypeName ('+') + ModToString (a));
-                                       result += string.Join (",", args);
-                               }
-                               result += ')';
-                       }
-
-                       return result;
-               }
-
-               public string ToEcmaCref ()
-               {
-                       var sb = new StringBuilder ();
-                       // Cref type
-                       sb.Append (DescKind.ToString ()[0]);
-                       sb.Append (":");
-                       // Create the rest
-                       ConstructCRef (sb);
-
-                       return sb.ToString ();
-               }
-
-               void ConstructCRef (StringBuilder sb, bool skipLeadingDot = false)
-               {
-                       if (string.IsNullOrEmpty (Namespace))
-                               skipLeadingDot = true;
-
-                       sb.Append (Namespace);
-                       if (DescKind == Kind.Namespace)
-                               return;
-
-                       if (!skipLeadingDot)
-                               sb.Append ('.');
-
-                       sb.Append (TypeName);
-                       AppendGenericArguments (sb, GenericTypeArguments, GenericTypeArgumentsIsNumeric, GenericTypeArgumentsCount);
-
-                       if (NestedType != null) {
-                               sb.Append ('+');
-                               NestedType.ConstructCRef (sb, skipLeadingDot: true);
-                       }
-                       if (ArrayDimensions != null && ArrayDimensions.Count > 0) {
-                               for (int i = 0; i < ArrayDimensions.Count; i++) {
-                                       sb.Append ('[');
-                                       sb.Append (new string (',', ArrayDimensions[i] - 1));
-                                       sb.Append (']');
-                               }
-                       }
-                       if (DescKind == Kind.Type)
-                               return;
-
-                       if (ExplicitImplMember != null) {
-                               sb.Append ('$');
-                               ExplicitImplMember.DescKind = this.DescKind;
-                               ExplicitImplMember.ConstructCRef (sb, skipLeadingDot: false);
-                               return;
-                       }
-
-                       sb.Append (".");
-                       sb.Append (MemberName);
-
-                       AppendGenericArguments (sb, GenericMemberArguments, GenericMemberArgumentsIsNumeric, GenericMemberArgumentsCount);
-
-                       if (MemberArguments != null && MemberArgumentsCount > 0) {
-                               sb.Append ("(");
-                               int i=0;
-                               foreach (var a in MemberArguments) {
-                                       if (i > 0) {
-                                               sb.Append(",");
-                                       }
-                                       a.ConstructCRef (sb);
-                                       i++;
-                               }
-                               sb.Append (")");
-                       }
-               }
-
-               void AppendGenericArguments (StringBuilder sb, IEnumerable<EcmaDesc> arguments, bool isNumeric, int argumentsCount)
-               {
-                       if (arguments != null && isNumeric) {
-                               sb.AppendFormat ("`{0}", argumentsCount);
-                       } else if (arguments != null) {
-                               sb.Append ('<');
-                               int i=0;
-                               foreach (var t in arguments) {
-                                       if (i > 0) {
-                                               sb.Append (",");
-                                       }
-                                       t.ConstructCRef (sb);
-
-                                       i++;
-                               }
-                               sb.Append ('>');
-                       }
-               }
-
-               public override string ToString ()
-               {
-                       return string.Format ("({8}) {0}::{1}{2}{3}{7} {4}{5}{6} {9} {10}",
-                                             Namespace,
-                                             TypeName,
-                                             FormatGenericArgsFull (GenericTypeArguments),
-                                             NestedType != null ? "+" + NestedType.ToString () : string.Empty,
-                                             MemberName ?? string.Empty,
-                                             FormatGenericArgsFull (GenericMemberArguments),
-                                             MemberArguments != null ? "(" + string.Join (",", MemberArguments.Select (m => m.ToString ())) + ")" : string.Empty,
-                                             ArrayDimensions != null && ArrayDimensions.Count > 0 ? ArrayDimensions.Select (dim => "[" + new string (',', dim - 1) + "]").Aggregate (string.Concat) : string.Empty,
-                                             DescKind.ToString ()[0],
-                                             Etc != 0 ? '(' + Etc.ToString () + ')' : string.Empty,
-                                             ExplicitImplMember != null ? "$" + ExplicitImplMember.ToString () : string.Empty);
-                                             
-               }
-
-               public override bool Equals (object other)
-               {
-                       var otherDesc = other as EcmaDesc;
-                       return otherDesc != null && Equals (otherDesc);
-               }
-
-               public bool Equals (EcmaDesc other)
-               {
-                       if (other == null)
-                               return false;
-
-                       if (NestedType == null ^ other.NestedType == null
-                           || ArrayDimensions == null ^ other.ArrayDimensions == null
-                           || GenericTypeArguments == null ^ other.GenericTypeArguments == null
-                           || GenericMemberArguments == null ^ other.GenericMemberArguments == null
-                           || MemberArguments == null ^ other.MemberArguments == null
-                           || ExplicitImplMember == null ^ other.ExplicitImplMember == null)
-                               return false;
-
-                       return other != null
-                               && DescKind == other.DescKind
-                               && TypeName == other.TypeName
-                               && Namespace == other.Namespace
-                               && MemberName == other.MemberName
-                               && (NestedType == null || NestedType.Equals (other.NestedType))
-                               && (ArrayDimensions == null || ArrayDimensions.SequenceEqual (other.ArrayDimensions))
-                               && (GenericTypeArguments == null || GenericTypeArguments.SequenceEqual (other.GenericTypeArguments))
-                               && (GenericMemberArguments == null || GenericMemberArguments.SequenceEqual (other.GenericMemberArguments))
-                               && (MemberArguments == null || MemberArguments.SequenceEqual (other.MemberArguments))
-                               && Etc == other.Etc
-                               && EtcFilter == other.EtcFilter
-                               && (ExplicitImplMember == null || ExplicitImplMember.Equals (other.ExplicitImplMember));
-               }
-
-               public override int GetHashCode ()
-               {
-                       return DescKind.GetHashCode ()
-                               ^ TypeName.GetHashCode ()
-                               ^ Namespace.GetHashCode ()
-                               ^ MemberName.GetHashCode ();
-               }
-
-               bool What (bool input)
-               {
-                       if (!input)
-                               throw new Exception ("Not equal");
-                       return input;
-               }
-
-               bool WhatT (bool input)
-               {
-                       if (input)
-                               throw new Exception ("Not equal");
-                       return input;
-               }
-
-               string FormatNamespace (EcmaDesc desc)
-               {
-                       return string.IsNullOrEmpty (desc.Namespace) ? string.Empty : desc.Namespace + ".";
-               }
-
-               string FormatGenericArgs (IEnumerable<EcmaDesc> args)
-               {
-                       if (args == null || !args.Any ())
-                               return string.Empty;
-                       // If we only have the number of generic arguments, use ` notation
-                       if (args.First () == null)
-                               return "`" + args.Count ();
-
-                       IEnumerable<string> argsList = args.Select (t => FormatNamespace (t) + t.ToCompleteTypeName ());
-
-                       return "<" + string.Join (",", argsList) + ">";
-               }
-
-               string FormatGenericArgsFull (IEnumerable<EcmaDesc> genericArgs)
-               {
-                       return genericArgs != null ? "<" + string.Join (",", genericArgs.Select (t => t.ToString ())) + ">" : string.Empty;
-               }
-
-               string ModToString (EcmaDesc desc)
-               {
-                       switch (desc.DescModifier) {
-                       case Mod.Pointer:
-                               return "*";
-                       case Mod.Ref:
-                               return "&";
-                       case Mod.Out:
-                               return "@";
-                       default:
-                               return string.Empty;
-                       }
-               }
-
-               string FormattedNamespace {
-                       get {
-                               return !string.IsNullOrEmpty (Namespace) ? Namespace + "." : string.Empty;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc.Ecma/EcmaUrlParser.jay b/mcs/class/monodoc/Monodoc.Ecma/EcmaUrlParser.jay
deleted file mode 100644 (file)
index 0dafab3..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-%{
-using System.Text;
-using System.IO;
-using System;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace Monodoc.Ecma
-{
-       public class EcmaUrlParser
-       {
-        int yacc_verbose_flag = 0;
-
-        public void IsValid (string input)
-        {
-                       var lexer = new EcmaUrlTokenizer (input);
-                       this.yyparse (lexer);
-        }
-
-        public EcmaDesc Parse (string input)
-        {
-                       var lexer = new EcmaUrlTokenizer (input);
-                       return (EcmaDesc)this.yyparse (lexer);
-        }
-
-        public bool TryParse (string input, out EcmaDesc desc)
-        {
-            desc = null;
-            try {
-                desc = Parse (input);
-            } catch {
-                return false;
-            }
-            return true;
-        }
-
-        EcmaDesc SetEcmaDescType (object result, EcmaDesc.Kind kind)
-        {
-            var desc = result as EcmaDesc;
-            desc.DescKind = kind;
-            return desc;
-        }
-
-        List<T> SafeReverse<T> (List<T> input)
-        {
-            if (input == null)
-               return null;
-            input.Reverse ();
-            return input;
-        }
-%}
-
-%token ERROR
-%token IDENTIFIER
-%token DIGIT
-%token DOT
-%token COMMA
-%token COLON
-%token INNER_TYPE_SEPARATOR
-%token OP_GENERICS_LT
-%token OP_GENERICS_GT
-%token OP_GENERICS_BACKTICK
-%token OP_OPEN_PAREN
-%token OP_CLOSE_PAREN
-%token OP_ARRAY_OPEN
-%token OP_ARRAY_CLOSE
-%token SLASH_SEPARATOR
-%token STAR
-%token REF_ARG
-%token OUT_ARG
-%token EXPLICIT_IMPL_SEP
-
-%start expression
-
-%%
-
-expression
-        : 'T' COLON type_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Type); }
-        | 'N' COLON namespace_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Namespace); }
-        | 'M' COLON method_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Method); }
-        | 'F' COLON simple_member_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Field); }
-        | 'C' COLON constructor_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Constructor); }
-        | 'P' COLON property_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Property); }
-        | 'E' COLON simple_member_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Event); }
-        | 'O' COLON operator_expression { $$ = SetEcmaDescType ($3, EcmaDesc.Kind.Operator); }
-
-/* i.e. id.id.id or id */
-dot_expression
-        : IDENTIFIER { $$ = new List<string> { (string)$1 }; }
-        | IDENTIFIER DOT dot_expression { ((ICollection<string>)$3).Add ((string)$1); $$ = $3; }
-
-namespace_expression
-        : dot_expression { $$ = new EcmaDesc { Namespace = string.Join (".", ((IEnumerable<string>)$1).Reverse ()) }; }
-
-type_expression
-        : dot_expression type_expression_suffix {
-                         var dotExpr = ((List<string>)$1);
-                         dotExpr.Reverse ();
-                         var desc = $2 as EcmaDesc;
-                         desc.DescKind = EcmaDesc.Kind.Type;
-                         desc.Namespace = string.Join (".", dotExpr.Take (dotExpr.Count - 1));
-                         desc.TypeName = dotExpr.Last ();
-                         $$ = desc;
-                     }
-
-/* To be used in types with no namespaces attached to them like an inner type*/
-reduced_type_expression
-        : IDENTIFIER type_expression_suffix {
-                         var desc = $2 as EcmaDesc;
-                         desc.DescKind = EcmaDesc.Kind.Type;
-                         desc.TypeName = $1 as string;
-                         $$ = desc;
-                     }
-
-type_expression_suffix
-        : opt_generic_type_suffix opt_inner_type_description opt_array_definition opt_etc {
-                         bool nestedDescHasEtc = $2 != null && ((EcmaDesc)$2).IsEtc;
-                         EcmaDesc nestedType = (EcmaDesc)$2;
-                         $$ = new EcmaDesc {
-                            GenericTypeArguments = $1 as List<EcmaDesc>,
-                            NestedType = nestedType,
-                            ArrayDimensions = SafeReverse ($3 as List<int>),
-                            Etc = $4 != null ? ((Tuple<char, string>)$4).Item1 : nestedDescHasEtc ? nestedType.Etc : (char)0,
-                            EtcFilter = $4 != null ? ((Tuple<char, string>)$4).Item2 : nestedDescHasEtc ? nestedType.EtcFilter : null
-                         };
-                         if (nestedDescHasEtc) {
-                            nestedType.Etc = (char)0;
-                            nestedType.EtcFilter = null;
-                         }
-                     }
-
-opt_inner_type_description
-        : /* empty */ { $$ = null; }
-        | INNER_TYPE_SEPARATOR reduced_type_expression { $$ = $2; }
-
-opt_generic_type_suffix
-        : /* empty */ { $$ = null; }
-        | OP_GENERICS_BACKTICK DIGIT { $$ = Enumerable.Repeat<EcmaDesc> (null, (int)$2).ToList (); }
-        | OP_GENERICS_LT generic_type_arg_list OP_GENERICS_GT { $$ = $2; }
-
-generic_type_arg_list
-        : type_expression { $$ = new List<EcmaDesc> () { (EcmaDesc)$1 }; }
-        | generic_type_arg_list COMMA type_expression { ((List<EcmaDesc>)$1).Add ((EcmaDesc)$3); $$ = $1; }
-
-opt_array_definition
-        : /* empty */ { $$ = null; }
-        | OP_ARRAY_OPEN opt_array_definition_list OP_ARRAY_CLOSE opt_array_definition {
-                      var dims = ((IList<int>)$4) ?? new List<int> (2);
-                      dims.Add ((int)$2);
-                      $$ = dims;
-                }
-
-opt_array_definition_list
-        : /* empty */ { $$ = 1; }
-        | COMMA opt_array_definition_list { $$ = ((int)$2) + 1; }
-
-opt_etc
-        : /* empty */ { $$ = null; }
-        | SLASH_SEPARATOR etc_identifier { $$ = Tuple.Create<char, string> (((string)$2)[0], null); }
-        | SLASH_SEPARATOR etc_identifier SLASH_SEPARATOR reduced_member_expression { $$ = Tuple.Create<char, string> (((string)$2)[0], (string)$4); }
-/*        | SLASH_SEPARATOR etc_identifier SLASH_SEPARATOR IDENTIFIER opt_generic_type_suffix { $$ = Tuple.Create<char, string> (((string)$2)[0], (string)$4 + ($5 == null ? string.Empty : "<" + string.Join (",", ((IEnumerable<EcmaDesc>)$5).Select (t => t.ToCompleteTypeName ())) + ">")); } */
-
-etc_identifier
-        : STAR { $$ = "*"; }
-        | IDENTIFIER { $$ = $1; }
-
-method_expression
-        : type_expression DOT IDENTIFIER opt_generic_type_suffix opt_arg_list_suffix {
-                      var desc = $1 as EcmaDesc;
-                      desc.MemberName = $3 as string;
-                      desc.GenericMemberArguments = $4 as List<EcmaDesc>;
-                      desc.MemberArguments = SafeReverse ($5 as List<EcmaDesc>);
-                      $$ = desc;
-                }
-        | dot_expression opt_generic_type_suffix opt_arg_list_suffix {
-                      var dotExpr = ((List<string>)$1);
-                      $$ = new EcmaDesc {
-                           Namespace = string.Join (".", dotExpr.Skip (2).DefaultIfEmpty (string.Empty).Reverse ()),
-                           TypeName = dotExpr.Skip (1).First (),
-                           MemberName = dotExpr.First (),
-                           GenericMemberArguments = $2 as List<EcmaDesc>,
-                           MemberArguments = SafeReverse ($3 as List<EcmaDesc>)
-                      };
-                }
-        | type_expression EXPLICIT_IMPL_SEP method_expression {
-                      var desc = $1 as EcmaDesc;
-                      desc.ExplicitImplMember = $3 as EcmaDesc;
-                      $$ = desc;
-                }
-
-/* To be used with members that may have no type/namespace attached */
-reduced_member_expression
-        : IDENTIFIER opt_generic_type_suffix { $$ = (string)$1 + ($2 == null ? string.Empty : "<" + string.Join (",", ((IEnumerable<EcmaDesc>)$2).Select (t => t.ToCompleteTypeName ())) + ">"); }
-        | IDENTIFIER opt_generic_type_suffix DOT reduced_member_expression {
-                      var existing = $4 as string;
-                      var expr = (string)$1 + ($2 == null ? string.Empty : "<" + string.Join (",", ((IEnumerable<EcmaDesc>)$2).Select (t => t.ToCompleteTypeName ())) + ">");
-                      $$ = expr + "." + existing;
-                }
-
-arg_type_expression
-        : type_expression opt_arg_type_suffix { var desc = (EcmaDesc)$1; desc.DescModifier = (EcmaDesc.Mod)$2; $$ = desc; }
-
-opt_arg_type_suffix
-        : /* empty */ { $$ = EcmaDesc.Mod.Normal; }
-        | STAR { $$ = EcmaDesc.Mod.Pointer; }
-        | REF_ARG { $$ = EcmaDesc.Mod.Ref; }
-        | OUT_ARG { $$ = EcmaDesc.Mod.Out; }
-
-type_expression_list
-        : /* empty */ { $$ = null; }
-        | arg_type_expression { $$ = new List<EcmaDesc> () { (EcmaDesc)$1 }; }
-        | arg_type_expression COMMA type_expression_list { ((List<EcmaDesc>)$3).Add ((EcmaDesc)$1); $$ = $3; }
-
-simple_member_expression
-        : dot_expression {
-                 var dotExpr = ((List<string>)$1);
-                 dotExpr.Reverse ();
-
-                 $$ = new EcmaDesc {
-                      Namespace = dotExpr.Count > 2 ? string.Join (".", dotExpr.Take (dotExpr.Count - 2)) : string.Empty,
-                      TypeName = dotExpr.Count > 1 ?  dotExpr[dotExpr.Count - 2] : string.Empty,
-                      MemberName = dotExpr[dotExpr.Count - 1]
-                 };
-             }
-        | type_expression DOT IDENTIFIER {
-                 var desc = $1 as EcmaDesc;
-                 desc.MemberName = $3 as string;
-                 $$ = desc;
-             }
-        | type_expression EXPLICIT_IMPL_SEP simple_member_expression {
-                 var desc = $1 as EcmaDesc;
-                 desc.ExplicitImplMember = $3 as EcmaDesc;
-                 $$ = desc;
-             }
-
-constructor_expression
-        : method_expression { $$ = $1; }
-
-operator_expression
-        : method_expression { $$ = $1; }
-
-property_expression
-        : simple_member_expression opt_property_indexer {
-                 var desc = $1 as EcmaDesc;
-                 (desc.ExplicitImplMember ?? desc).MemberArguments = SafeReverse ($2 as List<EcmaDesc>);
-                 $$ = desc;
-             }
-
-opt_property_indexer
-        : opt_arg_list_suffix { $$ = $1; }
-
-/*simple_member_expression opt_arg_list_suffix { $$ = CopyFromEcmaDesc (new EcmaDesc {
-                           MemberArguments = SafeReverse ($2 as List<EcmaDesc>)
-                      }, (EcmaDesc)$1);
-                }*/
-
-opt_arg_list_suffix
-        : /* empty */ { $$ = null; }
-        | OP_OPEN_PAREN type_expression_list OP_CLOSE_PAREN { $$ = $2; }
-
-%%
-
-}
\ No newline at end of file
diff --git a/mcs/class/monodoc/Monodoc.Ecma/EcmaUrlParserDriver.cs b/mcs/class/monodoc/Monodoc.Ecma/EcmaUrlParserDriver.cs
deleted file mode 100644 (file)
index 8a93825..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.IO;
-
-namespace Monodoc.Ecma
-{
-       public class EcmaUrlParserDriver
-       {
-               public static void Main (string[] args)
-               {
-                       var input = new StringReader (args[0]);
-                       var lexer = new EcmaUrlTokenizer (input);
-                       var parser = new EcmaUrlParser ();
-
-                       Console.WriteLine (parser.yyparse (lexer));
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc.Ecma/EcmaUrlTokenizer.cs b/mcs/class/monodoc/Monodoc.Ecma/EcmaUrlTokenizer.cs
deleted file mode 100644 (file)
index a4d7267..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-using System;
-using System.Text;
-using System.Globalization;
-
-namespace Monodoc.Ecma
-{
-       public class EcmaUrlTokenizer : yyParser.yyInput
-       {
-               const char EndOfStream = (char)0;
-               string input;
-               object val;
-               int current_token;
-               int current_pos;
-               int real_current_pos;
-               int identCount = 0;
-
-               public EcmaUrlTokenizer (string input)
-               {
-                       this.input = input;
-               }
-
-               static bool is_identifier_start_character (char c)
-               {
-                       return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' || Char.IsLetter (c);
-               }
-
-               static bool is_identifier_part_character (char c)
-               {
-                       if (c >= 'a' && c <= 'z')
-                               return true;
-
-                       if (c >= 'A' && c <= 'Z')
-                               return true;
-
-                       if (c == '_' || (c >= '0' && c <= '9'))
-                               return true;
-
-                       if (c < 0x80)
-                               return false;
-
-                       return Char.IsLetter (c) || Char.GetUnicodeCategory (c) == UnicodeCategory.ConnectorPunctuation;
-               }
-
-               public bool advance ()
-               {
-                       return Peek () != EndOfStream;
-               }
-
-               public Object Value {
-                       get {
-                               return val;
-                       }
-               }
-
-               public Object value ()
-               {
-                       return val;
-               }
-
-               public int token ()
-               {
-                       int token = xtoken ();
-                       //Console.WriteLine ("Current token {0} with value {1}", token, val == null ? "(none)" : val.ToString ());
-                       if (token == Token.ERROR) {
-                               throw new Exception (string.Format ("Error at position {0} parsing url '{0}'",  current_pos, input));
-                       }
-                       current_token = token;
-                       return token;
-               }
-
-               int xtoken ()
-               {
-                       char next = Read ();
-                       while (char.IsWhiteSpace (next))
-                               next = Read ();
-                       current_pos++;
-                       val = null;
-
-                       switch (next) {
-                       case ',':
-                               return Token.COMMA;
-                       case '.':
-                               return Token.DOT;
-                       case '{':
-                       case '<':
-                               return Token.OP_GENERICS_LT;
-                       case '}':
-                       case '>':
-                               return Token.OP_GENERICS_GT;
-                       case '`':
-                               return Token.OP_GENERICS_BACKTICK;
-                       case '(':
-                               return Token.OP_OPEN_PAREN;
-                       case ')':
-                               return Token.OP_CLOSE_PAREN;
-                       case '+':
-                               return Token.INNER_TYPE_SEPARATOR;
-                       case ':':
-                               return Token.COLON;
-                       case '/':
-                               return Token.SLASH_SEPARATOR;
-                       case '[':
-                               return Token.OP_ARRAY_OPEN;
-                       case ']':
-                               return Token.OP_ARRAY_CLOSE;
-                       case '*':
-                               return Token.STAR;
-                       case '&':
-                               return Token.REF_ARG;
-                       case '@':
-                               return Token.OUT_ARG;
-                       case '$':
-                               return Token.EXPLICIT_IMPL_SEP;
-                       default:
-                               return TokenizeIdentifierOrNumber (next);
-                       }
-               }
-
-               int TokenizeIdentifierOrNumber (char current)
-               {
-                       // We must first return the expression type which is a uppercase letter and a colon
-                       if (current_pos < 2) {
-                               val = null;
-                               return (int)current;
-                       }
-
-                       if (is_identifier_start_character (current) || current == '*') {
-                               unsafe {
-                                       // identifier length is artificially limited to 1024 bytes by implementations
-                                       char* pIdent = stackalloc char[512];
-                                       *pIdent = current;
-                                       identCount = 1;
-
-                                       char peek;
-                                       while ((peek = Peek ()) != EndOfStream && is_identifier_part_character (peek)) {
-                                               *(pIdent + identCount) = Read ();
-                                               ++current_pos;
-                                               ++identCount;
-                                       }
-
-                                       val = new string ((char*)pIdent, 0, identCount);
-                                       return Token.IDENTIFIER;
-                               }
-                       } else if (char.IsDigit (current)) {
-                               val = current - '0';
-                               return Token.DIGIT;
-                       } else {
-                               val = null;
-                               return Token.ERROR;
-                       }
-               }
-
-               char Read ()
-               {
-                       try {
-                               return input[real_current_pos++];
-                       } catch {
-                               return EndOfStream;
-                       }
-               }
-
-               char Peek ()
-               {
-                       try {
-                               return input[real_current_pos];
-                       } catch {
-                               return EndOfStream;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/HelpSource.cs b/mcs/class/monodoc/Monodoc/HelpSource.cs
deleted file mode 100644 (file)
index 2c6257d..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using System.Diagnostics;
-using System.Collections.Generic;
-
-using Mono.Utilities;
-using Lucene.Net.Index;
-
-namespace Monodoc
-{
-       public enum SortType {
-               Caption,
-               Element
-       }
-
-       //
-       // The HelpSource class keeps track of the archived data, and its
-       // tree
-       //
-       public
-#if LEGACY_MODE
-       partial
-#endif
-       class HelpSource
-       {
-               static int id;
-
-               //
-               // The unique ID for this HelpSource.
-               //
-               int source_id;
-
-               // The name of the HelpSource, used by all the file (.tree, .zip, ...) used by it
-               string name;
-               // The full directory path where the HelpSource files are located
-               string basePath;
-
-               // The tree of this help source
-               Tree tree;
-               string treeFilePath;
-               RootTree rootTree;
-
-               IDocCache cache;
-               IDocStorage storage;
-
-               public HelpSource (string base_filename, bool create)
-               {
-                       this.name = Path.GetFileName (base_filename);
-                       this.basePath = Path.GetDirectoryName (base_filename);
-                       this.treeFilePath = base_filename + ".tree";
-                       this.storage = new Monodoc.Storage.ZipStorage (base_filename + ".zip");
-                       this.cache = DocCacheHelper.GetDefaultCache (Name);
-
-                       tree = create ? new Tree (this, string.Empty, string.Empty) : new Tree (this, treeFilePath);
-
-                       source_id = id++;
-               }
-       
-               public HelpSource ()
-               {
-                       tree = new Tree (this, "Blah", "Blah");
-                       source_id = id++;
-                       this.cache = new Caches.NullCache ();
-               }
-       
-               public int SourceID {
-                       get {
-                               return source_id;
-                       }
-               }
-       
-               public string Name {
-                       get {
-                               return name;
-                       }
-               }
-
-               /* This gives the full path of the source/ directory */
-               public string BaseFilePath {
-                       get {
-                               return basePath;
-                       }
-               }
-
-               public TraceLevel TraceLevel {
-                       get;
-                       set;
-               }
-
-               public string BaseDir {
-                       get {
-                               return basePath;
-                       }
-               }
-
-               public Tree Tree {
-                       get {
-                               return tree;
-                       }
-               }
-
-               public RootTree RootTree {
-                       get {
-                               return rootTree;
-                       }
-                       set {
-                               rootTree = value;
-                       }
-               }
-
-               public IDocCache Cache {
-                       get {
-                               return cache;
-                       }
-               }
-
-               public IDocStorage Storage {
-                       get {
-                               return storage;
-                       }
-                       protected set {
-                               storage = value;
-                       }
-               }
-
-               // A HelpSource may have a common prefix to its URL, give it here
-               protected virtual string UriPrefix {
-                       get {
-                               return "dummy:";
-                       }
-               }
-
-               public virtual SortType SortType {
-                       get {
-                               return SortType.Caption;
-                       }
-               }
-       
-               /// <summary>
-               ///   Returns a stream from the packaged help source archive
-               /// </summary>
-               public virtual Stream GetHelpStream (string id)
-               {
-                       return storage.Retrieve (id);
-               }
-
-               public virtual Stream GetCachedHelpStream (string id)
-               {
-                       if (string.IsNullOrEmpty (id))
-                               throw new ArgumentNullException ("id");
-                       if (!cache.CanCache (DocEntity.Text))
-                               return GetHelpStream (id);
-                       if (!cache.IsCached (id))
-                               cache.CacheText (id, GetHelpStream (id));
-                       return cache.GetCachedStream (id);
-               }
-
-               public XmlReader GetHelpXml (string id)
-               {
-                       var url = "monodoc:///" + SourceID + "@" + Uri.EscapeDataString (id) + "@";
-                       var stream = cache.IsCached (id) ? cache.GetCachedStream (id) : storage.Retrieve (id);
-                       
-                       return stream == null ? null : new XmlTextReader (url, stream);
-               }
-       
-               public virtual XmlDocument GetHelpXmlWithChanges (string id)
-               {
-                       XmlDocument doc = new XmlDocument ();
-                       if (!storage.SupportRevision) {
-                               doc.Load (GetHelpXml (id));
-                       } else {
-                               var revManager = storage.RevisionManager;
-                               doc.Load (revManager.RetrieveLatestRevision (id));
-                       }
-                       return doc;
-               }
-
-               public virtual string GetCachedText (string id)
-               {
-                       if (!cache.CanCache (DocEntity.Text))
-                               return GetText (id);
-                       if (!cache.IsCached (id))
-                               cache.CacheText (id, GetText (id));
-                       return cache.GetCachedString (id);
-               }
-
-               public virtual string GetText (string id)
-               {
-                       return new StreamReader (GetHelpStream (id)).ReadToEnd ();
-               }
-
-               // Tells if the result for the provided id is generated dynamically
-               // by the help source
-               public virtual bool IsGeneratedContent (string id)
-               {
-                       return false;
-               }
-
-               // Tells if the content of the provided id is meant to be returned raw
-               public virtual bool IsRawContent (string id)
-               {
-                       return false;
-               }
-
-               // Tells if provided id refers to a multi-content-type document if it's case
-               // tells the ids it's formed of
-               public virtual bool IsMultiPart (string id, out IEnumerable<string> parts)
-               {
-                       parts = null;
-                       return false;
-               }
-
-               /// <summary>
-               ///   Saves the tree and the archive
-               /// </summary>
-               public void Save ()
-               {
-                       tree.Save (treeFilePath);
-                       storage.Dispose ();
-               }
-       
-               public virtual void RenderPreviewDocs (XmlNode newNode, XmlWriter writer)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               public virtual string GetPublicUrl (Node node)
-               {
-                       return node.GetInternalUrl ();
-               }
-
-               public virtual bool CanHandleUrl (string url)
-               {
-                       return url.StartsWith (UriPrefix, StringComparison.OrdinalIgnoreCase);
-               }
-
-               public virtual string GetInternalIdForUrl (string url, out Node node, out Dictionary<string, string> context)
-               {
-                       context = null;
-                       node = MatchNode (url);
-                       return node == null ? null : url.Substring (UriPrefix.Length);
-               }
-               
-               public virtual Node MatchNode (string url)
-               {
-                       Node current = null;
-
-                       var matchCache = LRUCache<string, Node>.Default;
-                       if ((current = matchCache.Get (url)) != null)
-                               return current;
-
-                       current = Tree.RootNode;
-                       var strippedUrl = url.StartsWith (UriPrefix, StringComparison.OrdinalIgnoreCase) ? url.Substring (UriPrefix.Length) : url;
-                       var searchNode = new Node () { Element = strippedUrl };
-
-                       do {
-                               int index = current.ChildNodes.BinarySearch (searchNode, NodeElementComparer.Instance);
-                               if (index >= 0) {
-                                       Node n = current.ChildNodes[index];
-                                       matchCache.Put (url, n);
-                                       return n;
-                               }
-                               index = ~index;
-                               if (index == current.ChildNodes.Count) {
-                                       return SlowMatchNode (Tree.RootNode, matchCache, strippedUrl);
-                               }
-
-                               if (index == 0)
-                                       return null;
-
-                               current = current.ChildNodes [index - 1];
-                       } while (true);
-
-                       return null;
-               }
-
-               /* That slow path is mainly here to handle ecmaspec type of url which are composed of hard to sort numbers
-                * because they don't have the same amount of digit. We could use a regex to harmonise the various number
-                * parts but then it would be quite specific. Since in the case of ecmaspec the tree is well-formed enough
-                * the "Slow" match should still be fast enough
-                */
-               Node SlowMatchNode (Node current, LRUCache<string, Node> matchCache, string url)
-               {
-                       //Console.WriteLine ("Entering slow path for {0} starting from {1}", url, current.Element);
-                       while (current != null) {
-                               bool stop = true;
-                               foreach (Node n in current.ChildNodes) {
-                                       var element = n.Element.StartsWith (UriPrefix, StringComparison.OrdinalIgnoreCase) ? n.Element.Substring (UriPrefix.Length) : n.Element;
-                                       if (url.Equals (element, StringComparison.Ordinal)) {
-                                               matchCache.Put (url, n);
-                                               return n;
-                                       } else if (url.StartsWith (element + ".", StringComparison.OrdinalIgnoreCase) && !n.IsLeaf) {
-                                               current = n;
-                                               stop = false;
-                                               break;
-                                       }
-                               }
-                               if (stop)
-                                       current = null;
-                       }
-
-                       return null;
-               }
-               
-               class NodeElementComparer : IComparer<Node>
-               {
-                       public static NodeElementComparer Instance = new NodeElementComparer ();
-
-                       public int Compare (Node n1, Node n2)
-                       {
-                               return string.Compare (Cleanup (n1), Cleanup (n2), StringComparison.Ordinal);
-                       }
-
-                       string Cleanup (Node n)
-                       {
-                               var prefix = n.Tree != null && n.Tree.HelpSource != null ? n.Tree.HelpSource.UriPrefix : string.Empty;
-                               var element = n.Element.StartsWith (prefix, StringComparison.OrdinalIgnoreCase) ? n.Element.Substring (prefix.Length) : n.Element;
-                               if (char.IsDigit (element, 0)) {
-                                       var count = element.TakeWhile (char.IsDigit).Count ();
-                                       element = element.PadLeft (Math.Max (0, 3 - count) + element.Length, '0');
-                               }
-                               //Console.WriteLine ("Cleaned up {0} to {1}", n.Element, element);
-                               return element;
-                       }
-               }
-
-               public virtual DocumentType GetDocumentTypeForId (string id)
-               {
-                       return DocumentType.PlainText;
-               }
-
-               public virtual Stream GetImage (string url)
-               {
-                       Stream result = null;
-                       storage.TryRetrieve (url, out result);
-                       return result;
-               }
-
-               //
-               // Populates the index.
-               //
-               public virtual void PopulateIndex (IndexMaker index_maker)
-               {
-               }
-
-               //
-               // Create different Documents for adding to Lucene search index
-               // The default action is do nothing. Subclasses should add the docs
-               // 
-               public virtual void PopulateSearchableIndex (IndexWriter writer)
-               {
-
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/HelpSource_Legacy.cs b/mcs/class/monodoc/Monodoc/HelpSource_Legacy.cs
deleted file mode 100644 (file)
index 15f73ef..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using System.Diagnostics;
-using System.Collections.Generic;
-
-using Mono.Utilities;
-using Lucene.Net.Index;
-
-#if LEGACY_MODE
-
-namespace Monodoc
-{
-       using Generators;
-
-       public partial class HelpSource
-       {
-               static HtmlGenerator htmlGenerator = new HtmlGenerator (null);
-
-               [Obsolete]
-               public static bool use_css;
-               [Obsolete]
-               public static bool FullHtml = true;
-               [Obsolete]
-               public static bool UseWebdocCache;
-
-               [Obsolete ("Use Monodoc.Providers.HtmlGenerator.InlineCss")]
-               public string InlineCss {
-                       get { return Monodoc.Generators.HtmlGenerator.InlineCss; }
-               }
-
-               [Obsolete]
-               public string InlineJavaScript {
-                       get { return null; }
-               }
-
-               [Obsolete ("Use RenderUrl")]
-               public string GetText (string url, out Node node)
-               {
-                       return rootTree.RenderUrl (url, htmlGenerator, out node, this);
-               }
-
-               [Obsolete ("Use RenderUrl")]
-               public string RenderNamespaceLookup (string url, out Node node)
-               {
-                       return rootTree.RenderUrl (url, htmlGenerator, out node, this);
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/monodoc/Monodoc/Node.cs b/mcs/class/monodoc/Monodoc/Node.cs
deleted file mode 100644 (file)
index 08452f8..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Xml;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace Monodoc
-{
-       public
-#if LEGACY_MODE
-       partial
-#endif
-       class Node : IComparable<Node>, IComparable
-       {
-               readonly Tree parentTree;
-               string caption, element, pubUrl;
-               public bool Documented;
-               bool loaded;
-               Node parent;
-               List<Node> nodes;
-#if LEGACY_MODE
-               ArrayList legacyNodes;
-#endif
-               Dictionary<string, Node> childrenLookup;
-               bool elementSort;
-               /* Address has three types of value, 
-                *   _ 0 is for no on-disk representation
-                *   _ >0 is a valid address that is loaded immediately
-                *   _ <0 is a valid negated address to indicate lazy loading
-                */
-               int address;
-
-#if LEGACY_MODE
-               [Obsolete ("Tree inheriting Node is being phased out. Use the `Tree.RootNode' property instead")]
-               public Node (string caption, string element)
-               {
-                       this.parentTree = (Tree) this;
-                       this.caption = caption;
-                       this.element = element;
-                       parent = null;
-               }
-#endif
-
-               public Node (Node parent, string caption, string element) : this (parent.Tree, caption, element)
-               {
-                       this.parent = parent;
-               }
-
-               internal Node (Tree tree, string caption, string element)
-               {
-                       this.parentTree = tree;
-                       this.caption = caption;
-                       this.element = element;
-                       this.elementSort = parentTree.HelpSource != null && parentTree.HelpSource.SortType == SortType.Element;
-               }
-       
-               /// <summary>
-               ///    Creates a node from an on-disk representation
-               /// </summary>
-               internal Node (Node parent, int address) : this (parent.parentTree, address)
-               {
-                       this.parent = parent;
-               }
-
-               internal Node (Tree tree, int address)
-               {
-                       this.address = address;
-                       this.parentTree = tree;
-                       this.elementSort = parentTree.HelpSource != null && parentTree.HelpSource.SortType == SortType.Element;
-                       if (address > 0)
-                               LoadNode ();
-               }
-
-               /* This is solely used for MatchNode to check for equality */
-               internal Node ()
-               {
-               }
-
-               void LoadNode ()
-               {
-                       parentTree.InflateNode (this);
-                       if (parent != null)
-                               parent.RegisterFullNode (this);
-               }
-
-               public void AddNode (Node n)
-               {
-                       nodes.Add (n);
-                       n.parent = this;
-                       n.Documented = true;
-                       RegisterFullNode (n);
-               }
-
-               public void DeleteNode (Node n)
-               {
-                       nodes.Remove (n);
-                       if (!string.IsNullOrEmpty (n.element))
-                               childrenLookup.Remove (n.element);
-               }
-
-               // When a child node is inflated, it calls this method
-               // so that we can add it to our lookup for quick search
-               void RegisterFullNode (Node child)
-               {
-                       if (childrenLookup == null)
-                               childrenLookup = new Dictionary<string, Node> ();
-                       if (!string.IsNullOrEmpty (child.element))
-                               childrenLookup[child.element] = child;
-               }
-
-               [Obsolete ("Use ChildNodes")]
-               public ArrayList Nodes {
-                       get {
-                               if (legacyNodes == null)
-                                       legacyNodes = new ArrayList (ChildNodes as ICollection);
-                               return legacyNodes;
-                       }
-               }
-
-               public IList<Node> ChildNodes {
-                       get {
-                               EnsureLoaded ();
-                               return nodes != null ? nodes : new List<Node> ();
-                       }
-               }
-
-               public string Element {
-                       get {
-                               EnsureLoaded ();
-                               return element;
-                       }
-                       set {
-                               element = value;
-                       }
-               }
-
-               public string Caption {
-                       get {
-                               EnsureLoaded ();
-                               return caption;
-                       }
-                       internal set {
-                               caption = value;
-                       }
-               }
-       
-               public Node Parent {
-                       get {
-                               return parent;
-                       }
-               }
-
-               public Tree Tree {
-                       get {
-                               return parentTree;
-                       }
-               }
-
-               internal int Address {
-                       get {
-                               return address;
-                       }
-#if LEGACY_MODE
-                       set {
-                               address = value;
-                       }
-#endif
-               }
-       
-               /// <summary>
-               ///   Creates a new node, in the locator entry point, and with
-               ///   a user visible caption of @caption
-               /// </summary>
-               public Node CreateNode (string c_caption, string c_element)
-               {
-                       EnsureNodes ();
-                       if (string.IsNullOrEmpty (c_caption))
-                               throw new ArgumentNullException ("c_caption");
-                       if (string.IsNullOrEmpty (c_element))
-                               throw new ArgumentNullException ("c_element");
-
-                       Node t = new Node (this, c_caption, c_element);
-                       nodes.Add (t);
-                       childrenLookup[c_element] = t;
-
-                       return t;
-               }
-
-               public Node GetOrCreateNode (string c_caption, string c_element)
-               {
-                       if (nodes == null)
-                               return CreateNode (c_caption, c_element);
-                       if (childrenLookup.Count != nodes.Count || (nodes.Count == 0 && childrenLookup.Count != nodes.Capacity))
-                               UpdateLookup ();
-
-                       Node result;
-                       if (!childrenLookup.TryGetValue (c_element, out result))
-                               result = CreateNode (c_caption, c_element);
-                       return result;
-               }
-
-               public void EnsureNodes ()
-               {
-                       if (nodes == null) {
-                               nodes = new List<Node> ();
-                               childrenLookup = new Dictionary<string, Node> ();
-                       }
-               }
-
-               public void EnsureLoaded ()
-               {
-                       if (address < 0 && !loaded) {
-                               LoadNode ();
-                               loaded = true;
-                       }
-               }
-
-               void UpdateLookup ()
-               {
-                       foreach (var node in nodes)
-                               childrenLookup[node.Element] = node;
-               }
-       
-               public bool IsLeaf {
-                       get {
-                               return nodes == null || nodes.Count == 0;
-                       }
-               }
-
-               void EncodeInt (BinaryWriter writer, int value)
-               {
-                       do {
-                               int high = (value >> 7) & 0x01ffffff;
-                               byte b = (byte)(value & 0x7f);
-
-                               if (high != 0) {
-                                       b = (byte)(b | 0x80);
-                               }
-                       
-                               writer.Write(b);
-                               value = high;
-                       } while(value != 0);
-               }
-
-               int DecodeInt (BinaryReader reader)
-               {
-                       int ret = 0;
-                       int shift = 0;
-                       byte b;
-               
-                       do {
-                               b = reader.ReadByte();
-
-                               ret = ret | ((b & 0x7f) << shift);
-                               shift += 7;
-                       } while ((b & 0x80) == 0x80);
-                       
-                       return ret;
-               }
-
-               internal void Deserialize (BinaryReader reader)
-               {
-                       int count = DecodeInt (reader);
-                       element = reader.ReadString ();
-                       caption = reader.ReadString ();
-
-                       if (count == 0)
-                               return;
-               
-                       nodes = new List<Node> (count);
-                       for (int i = 0; i < count; i++) {
-                               int child_address = DecodeInt (reader);
-
-                               Node t = new Node (this, -child_address);
-                               nodes.Add (t);
-                       }
-
-                       if (parentTree.ForceResort)
-                               nodes.Sort ();
-               }
-
-               internal void Serialize (FileStream output, BinaryWriter writer)
-               {
-                       if (nodes != null)
-                               foreach (Node child in nodes)
-                                       child.Serialize (output, writer);
-
-                       address = (int) output.Position;
-                       EncodeInt (writer, nodes == null ? 0 : (int) nodes.Count);
-                       writer.Write (element);
-                       writer.Write (caption);
-
-                       if (nodes != null)
-                               foreach (Node child in nodes)
-                                       EncodeInt (writer, child.address);
-               }
-
-               public void Sort ()
-               {
-                       if (nodes != null)
-                               nodes.Sort ();
-               }
-
-               internal string GetInternalUrl ()
-               {
-                       EnsureLoaded ();
-                       if (element.IndexOf (":") != -1 || parent == null)
-                               return element;
-
-                       var parentUrl = parent.GetInternalUrl ();
-                       return parentUrl.EndsWith ("/") ? parentUrl + element : parentUrl + "/" + element;
-               }
-               
-               public string PublicUrl {
-                       get {
-                               if (pubUrl != null)
-                                       return pubUrl;
-                               return pubUrl = parentTree.HelpSource != null ? parentTree.HelpSource.GetPublicUrl (this) : GetInternalUrl ();
-                       }
-               }
-
-               int IComparable.CompareTo (object obj)
-               {
-                       Node other = obj as Node;
-                       if (other == null)
-                               return -1;
-                       return CompareToInternal (other);
-               }
-
-               int IComparable<Node>.CompareTo (Node obj)
-               {
-                       return CompareToInternal (obj);
-               }
-
-               int CompareToInternal (Node other)
-               {
-                       EnsureLoaded ();
-                       other.EnsureLoaded ();
-
-                       var cap1 = elementSort ? element : caption;
-                       var cap2 = elementSort ? other.element : other.caption;
-
-                       /* Some node (notably from ecmaspec) have number prepended to them
-                        * which we need to sort better by padding them to the same number
-                        * of digits
-                        */
-                       if (char.IsDigit (cap1[0]) && char.IsDigit (cap2[0])) {
-                               int c1 = cap1.TakeWhile (char.IsDigit).Count ();
-                               int c2 = cap2.TakeWhile (char.IsDigit).Count ();
-                               
-                               if (c1 != c2) {
-                                       cap1 = cap1.PadLeft (cap1.Length + Math.Max (0, c2 - c1), '0');
-                                       cap2 = cap2.PadLeft (cap2.Length + Math.Max (0, c1 - c2), '0');
-                               }
-                       }
-
-                       return string.Compare (cap1, cap2, StringComparison.Ordinal);
-               }
-       }
-
-       internal static class IListExtensions
-       {
-               // TODO: if the backing store ever change from List<T>, we need to tune these methods to have a fallback mechanism
-               public static int BinarySearch<T> (this IList<T> ilist, T item)
-               {
-                       var list = ilist as List<T>;
-                       if (list == null)
-                               throw new NotSupportedException ();
-                       return list.BinarySearch (item);
-               }
-
-               public static int BinarySearch<T> (this IList<T> ilist, T item, IComparer<T> comparer)
-               {
-                       var list = ilist as List<T>;
-                       if (list == null)
-                               throw new NotSupportedException ();
-                       return list.BinarySearch (item, comparer);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/Node_Legacy.cs b/mcs/class/monodoc/Monodoc/Node_Legacy.cs
deleted file mode 100644 (file)
index 6e3d7f5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Xml;
-using System.Collections.Generic;
-
-#if LEGACY_MODE
-
-namespace Monodoc
-{
-       public partial class Node
-       {
-               [Obsolete ("Use `Tree' instead of 'tree'")]
-               public Tree tree {
-                       get {
-                               return this.Tree;
-                       }
-               }
-
-               [Obsolete ("Use TreeDumper")]
-               public static void PrintTree (Tree t)
-               {
-                       TreeDumper.PrintTree (t.RootNode);
-               }
-
-               
-       }
-}
-
-#endif
diff --git a/mcs/class/monodoc/Monodoc/Provider.cs b/mcs/class/monodoc/Monodoc/Provider.cs
deleted file mode 100644 (file)
index 4f07804..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-
-namespace Monodoc
-{
-       public abstract class Provider
-       {
-               //
-               // This code is used to "tag" all the different sources
-               //
-               static short serial;
-
-               public int Code { get; set; }
-
-               public Provider ()
-               {
-                       Code = serial++;
-               }
-
-               public abstract void PopulateTree (Tree tree);
-
-               //
-               // Called at shutdown time after the tree has been populated to perform
-               // any fixups or final tasks.
-               //
-               public abstract void CloseTree (HelpSource hs, Tree tree);
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/RootTree.cs b/mcs/class/monodoc/Monodoc/RootTree.cs
deleted file mode 100644 (file)
index 04923ad..0000000
+++ /dev/null
@@ -1,545 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Configuration;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Xml;
-
-using Monodoc.Providers;
-using Lucene.Net.Analysis.Standard;
-using Lucene.Net.Index;
-
-namespace Monodoc
-{
-       public
-#if LEGACY_MODE
-       partial
-#endif
-       class RootTree : Tree
-       {
-               public const int MonodocVersion = 2;
-               const string RootNamespace = "root:/";
-               string basedir;
-               static List<string> uncompiledHelpSourcePaths = new List<string>();
-               HashSet<string> loadedSourceFiles = new HashSet<string>();
-               List<HelpSource> helpSources = new List<HelpSource>();
-               Dictionary<string, Node> nameToNode = new Dictionary<string, Node>();
-               Dictionary<string, HelpSource> nameToHelpSource = new Dictionary<string, HelpSource>();
-
-               public IList<HelpSource> HelpSources {
-                       get {
-                               return this.helpSources.AsReadOnly();
-                       }
-               }
-
-               public DateTime LastHelpSourceTime {
-                       get;
-                       set;
-               }
-
-               static bool IsUnix {
-                       get {
-                               int platform = (int)Environment.OSVersion.Platform;
-                               return platform == 4 || platform == 128 || platform == 6;
-                       }
-               }
-
-               RootTree () : base (null, "Mono Documentation", "root:")
-               {
-                       base.RootNode.EnsureNodes();
-                       this.LastHelpSourceTime = DateTime.Now;
-               }
-
-               public static void AddUncompiledSource (string path)
-               {
-                       uncompiledHelpSourcePaths.Add (path);
-               }
-
-               public static RootTree LoadTree ()
-               {
-                       return RootTree.LoadTree (RootTree.ProbeBaseDirectories ());
-               }
-
-               static string ProbeBaseDirectories ()
-               {
-                       string result = ".";
-                       try {
-                               result = Config.Get ("docPath") ?? ".";
-                       } catch {}
-
-                       return result;
-               }
-
-               public static RootTree LoadTree (string basedir, bool includeExternal = true)
-               {
-                       if (string.IsNullOrEmpty (basedir))
-                               throw new ArgumentNullException ("basedir");
-                       if (!Directory.Exists (basedir))
-                               throw new ArgumentException ("basedir", string.Format ("Base documentation directory at '{0}' doesn't exist", basedir));
-
-                       XmlDocument xmlDocument = new XmlDocument ();
-                       string filename = Path.Combine (basedir, "monodoc.xml");
-                       xmlDocument.Load (filename);
-                       IEnumerable<string> sourceFiles = Directory.EnumerateFiles (Path.Combine (basedir, "sources"), "*.source");
-                       if (includeExternal)
-                               sourceFiles = sourceFiles.Concat (RootTree.ProbeExternalDirectorySources ());
-                       return RootTree.LoadTree (basedir, xmlDocument, sourceFiles);
-               }
-
-               static IEnumerable<string> ProbeExternalDirectorySources ()
-               {
-                       IEnumerable<string> enumerable = Enumerable.Empty<string> ();
-                       try {
-                               string path = Config.Get ("docExternalPath");
-                               enumerable = enumerable.Concat (System.IO.Directory.EnumerateFiles (path, "*.source"));
-                       }
-                       catch {}
-
-                       if (Directory.Exists ("/Library/Frameworks/Mono.framework/External/monodoc"))
-                               enumerable = enumerable.Concat (Directory.EnumerateFiles ("/Library/Frameworks/Mono.framework/External/monodoc", "*.source"));
-
-                       var windowsPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData), "monodoc");
-                       if (Directory.Exists (windowsPath))
-                               enumerable = enumerable.Concat (Directory.EnumerateFiles (windowsPath, "*.source"));
-
-                       return enumerable;
-               }
-
-               public static RootTree LoadTree (string indexDir, XmlDocument docTree, IEnumerable<string> sourceFiles)
-               {
-                       if (docTree == null) {
-                               docTree = new XmlDocument ();
-                               using  (Stream manifestResourceStream = typeof (RootTree).Assembly.GetManifestResourceStream ("monodoc.xml")) {
-                                       docTree.Load (manifestResourceStream);
-                               }
-                       }
-
-                       sourceFiles =  (sourceFiles ?? new string[0]);
-                       RootTree rootTree = new RootTree ();
-                       rootTree.basedir = indexDir;
-                       XmlNodeList xml_node_list = docTree.SelectNodes ("/node/node");
-                       rootTree.nameToNode["root"] = rootTree.RootNode;
-                       rootTree.nameToNode["libraries"] = rootTree.RootNode;
-                       rootTree.Populate (rootTree.RootNode, xml_node_list);
-
-                       if (rootTree.LookupEntryPoint ("various") == null) {
-                               Console.Error.WriteLine ("No 'various' doc node! Check monodoc.xml!");
-                               Node rootNode = rootTree.RootNode;
-                       }
-
-                       foreach (string current in sourceFiles)
-                               rootTree.AddSourceFile (current);
-
-                       foreach (string path in uncompiledHelpSourcePaths) {
-                               var hs = new Providers.EcmaUncompiledHelpSource (path);
-                               hs.RootTree = rootTree;
-                               rootTree.helpSources.Add (hs);
-                               string epath = "extra-help-source-" + hs.Name;
-                               Node hsn = rootTree.RootNode.CreateNode (hs.Name, RootNamespace + epath);
-                               rootTree.nameToHelpSource [epath] = hs;
-                               hsn.EnsureNodes ();
-                               foreach (Node n in hs.Tree.RootNode.ChildNodes)
-                                       hsn.AddNode (n);
-                       }
-
-                       RootTree.PurgeNode (rootTree.RootNode);
-                       rootTree.RootNode.Sort ();
-                       return rootTree;
-               }
-
-               public void AddSource (string sourcesDir)
-               {
-                       IEnumerable<string> enumerable = Directory.EnumerateFiles (sourcesDir, "*.source");
-                       foreach (string current in enumerable)
-                               if (!this.AddSourceFile (current))
-                                       Console.Error.WriteLine ("Error: Could not load source file {0}", current);
-               }
-
-               public bool AddSourceFile (string sourceFile)
-               {
-                       if (this.loadedSourceFiles.Contains (sourceFile))
-                               return false;
-
-                       Node node = this.LookupEntryPoint ("various") ?? base.RootNode;
-                       XmlDocument xmlDocument = new XmlDocument ();
-                       try {
-                               xmlDocument.Load (sourceFile);
-                       } catch {
-                               bool result = false;
-                               return result;
-                       }
-
-                       XmlNodeList extra_nodes = xmlDocument.SelectNodes ("/monodoc/node");
-                       if (extra_nodes.Count > 0)
-                               this.Populate (node, extra_nodes);
-
-                       XmlNodeList sources = xmlDocument.SelectNodes ("/monodoc/source");
-                       if (sources == null) {
-                               Console.Error.WriteLine ("Error: No <source> section found in the {0} file", sourceFile);
-                               return false;
-                       }
-
-                       loadedSourceFiles.Add (sourceFile);
-                       foreach (XmlNode xmlNode in sources) {
-                               XmlAttribute a = xmlNode.Attributes["provider"];
-                               if (a == null) {
-                                       Console.Error.WriteLine ("Error: no provider in <source>");
-                                       continue;
-                               }
-                               string provider = a.InnerText;
-                               a = xmlNode.Attributes["basefile"];
-                               if (a == null) {
-                                       Console.Error.WriteLine ("Error: no basefile in <source>");
-                                       continue;
-                               }
-                               string basefile = a.InnerText;
-                               a = xmlNode.Attributes["path"];
-                               if (a == null) {
-                                       Console.Error.WriteLine ("Error: no path in <source>");
-                                       continue;
-                               }
-                               string path = a.InnerText;
-                               string basefilepath = Path.Combine (Path.GetDirectoryName (sourceFile), basefile);
-                               HelpSource helpSource = RootTree.GetHelpSource (provider, basefilepath);
-                               if (helpSource != null) {
-                                       helpSource.RootTree = this;
-                                       this.helpSources.Add (helpSource);
-                                       this.nameToHelpSource[path] = helpSource;
-                                       Node node2 = this.LookupEntryPoint (path);
-                                       if (node2 == null) {
-                                               Console.Error.WriteLine ("node `{0}' is not defined on the documentation map", path);
-                                               node2 = node;
-                                       }
-                                       foreach (Node current in helpSource.Tree.RootNode.ChildNodes) {
-                                               node2.AddNode (current);
-                                       }
-                                       node2.Sort ();
-                               }
-                       }
-                       return true;
-               }
-
-               static bool PurgeNode (Node node)
-               {
-                       bool result = false;
-                       if (!node.Documented)
-                       {
-                               List<Node> list = new List<Node> ();
-                               foreach (Node current in node.ChildNodes)
-                               {
-                                       bool flag = RootTree.PurgeNode (current);
-                                       if (flag)
-                                       {
-                                               list.Add (current);
-                                       }
-                               }
-                               result =  (node.ChildNodes.Count == list.Count);
-                               foreach (Node current2 in list)
-                               {
-                                       node.DeleteNode (current2);
-                               }
-                       }
-                       return result;
-               }
-
-               public static string[] GetSupportedFormats ()
-               {
-                       return new string[]
-                       {
-                               "ecma",
-                               "ecmaspec",
-                               "error",
-                               "man",
-                               "xhtml"
-                       };
-               }
-
-               public static HelpSource GetHelpSource (string provider, string basefilepath)
-               {
-                       HelpSource result;
-                       try {
-                               switch (provider) {
-                               case "xhtml":
-                               case "hb":
-                                       result = new XhtmlHelpSource (basefilepath, false);
-                                       break;
-                               case "man":
-                                       result = new ManHelpSource (basefilepath, false);
-                                       break;
-                               case "error":
-                                       result = new ErrorHelpSource (basefilepath, false);
-                                       break;
-                               case "ecmaspec":
-                                       result = new EcmaSpecHelpSource (basefilepath, false);
-                                       break;
-                               case "ecma":
-                                       result = new EcmaHelpSource (basefilepath, false);
-                                       break;
-                               default:
-                                       Console.Error.WriteLine ("Error: Unknown provider specified: {0}", provider);
-                                       result = null;
-                                       break;
-                               }
-                       } catch (FileNotFoundException) {
-                               Console.Error.WriteLine ("Error: did not find one of the files in sources/" + basefilepath);
-                               result = null;
-                       }
-                       return result;
-               }
-
-               public static Provider GetProvider (string provider, params string[] basefilepaths)
-               {
-                       switch (provider) {
-                       case "ecma":
-                               return new EcmaProvider (basefilepaths[0]);
-                       case "ecmaspec":
-                               return new EcmaSpecProvider (basefilepaths[0]);
-                       case "error":
-                               return new ErrorProvider (basefilepaths[0]);
-                       case "man":
-                               return new ManProvider (basefilepaths);
-                       case "xhml":
-                       case "hb":
-                               return new XhtmlProvider (basefilepaths[0]);
-                       }
-
-                       throw new NotSupportedException (provider);
-               }
-
-               void Populate (Node parent, XmlNodeList xml_node_list)
-               {
-                       foreach (XmlNode xmlNode in xml_node_list) {
-                               XmlAttribute e = xmlNode.Attributes["parent"];
-                               Node parent2 = null;
-                               if (e != null && this.nameToNode.TryGetValue (e.InnerText, out parent2)) {
-                                       xmlNode.Attributes.Remove (e);
-                                       Populate (parent2, xmlNode.SelectNodes ("."));
-                                       continue;
-                               }
-                               e = xmlNode.Attributes["label"];
-                               if (e == null) {
-                                       Console.Error.WriteLine ("`label' attribute missing in <node>");
-                                       continue;
-                               }
-                               string label = e.InnerText;
-                               e = xmlNode.Attributes["name"];
-                               if (e == null) {
-                                       Console.Error.WriteLine ("`name' attribute missing in <node>");
-                                       continue;
-                               }
-                               string name = e.InnerText;
-                               Node orCreateNode = parent.GetOrCreateNode (label, RootNamespace + name);
-                               orCreateNode.EnsureNodes ();
-                               this.nameToNode[name] = orCreateNode;
-                               XmlNodeList xmlNodeList = xmlNode.SelectNodes ("./node");
-                               if (xmlNodeList != null) {
-                                       this.Populate (orCreateNode, xmlNodeList);
-                               }
-                       }
-               }
-
-               public Node LookupEntryPoint (string name)
-               {
-                       Node result = null;
-                       if (!this.nameToNode.TryGetValue (name, out result))
-                               result = null;
-                       return result;
-               }
-
-               public TOutput RenderUrl<TOutput> (string url, IDocGenerator<TOutput> generator, HelpSource hintSource = null)
-               {
-                       Node dummy;
-                       return RenderUrl<TOutput> (url, generator, out dummy, hintSource);
-               }
-
-               public TOutput RenderUrl<TOutput> (string url, IDocGenerator<TOutput> generator, out Node node, HelpSource hintSource = null)
-               {
-                       node = null;
-                       string internalId = null;
-                       Dictionary<string, string> context = null;
-                       HelpSource hs = GetHelpSourceAndIdForUrl (url, hintSource, out internalId, out context, out node);
-                       return generator.Generate (hs, internalId, context);
-               }
-
-               public HelpSource GetHelpSourceAndIdForUrl (string url, out string internalId, out Dictionary<string, string> context)
-               {
-                       Node dummy;
-                       return GetHelpSourceAndIdForUrl (url, out internalId, out context, out dummy);
-               }
-
-               public HelpSource GetHelpSourceAndIdForUrl (string url, out string internalId, out Dictionary<string, string> context, out Node node)
-               {
-                       return GetHelpSourceAndIdForUrl (url, null, out internalId, out context, out node);
-               }
-
-               public HelpSource GetHelpSourceAndIdForUrl (string url, HelpSource hintSource, out string internalId, out Dictionary<string, string> context, out Node node)
-               {
-                       node = null;
-                       internalId = null;
-                       context = null;
-
-                       if (url == "root:") {
-                               context = new Dictionary<string, string> { {"specialpage", "master-root"} };
-                               internalId = url;
-                               node = null;
-                               // We return the first help source available since the generator will simply fetch this RootTree instance through it
-                               return helpSources.FirstOrDefault ();
-                       }
-                       if (url.StartsWith (RootNamespace, StringComparison.OrdinalIgnoreCase)) {
-                               context = new Dictionary<string, string> { {"specialpage", "root"} };
-                               return GetHelpSourceAndIdFromName (url.Substring (RootNamespace.Length), out internalId, out node);
-                       }
-
-                       HelpSource helpSource = hintSource;
-                       if (helpSource == null || string.IsNullOrEmpty (internalId = helpSource.GetInternalIdForUrl (url, out node, out context))) {
-                               helpSource = null;
-                               foreach (var hs in helpSources.Where (h => h.CanHandleUrl (url))) {
-                                       if (!string.IsNullOrEmpty (internalId = hs.GetInternalIdForUrl (url, out node, out context))) {
-                                               helpSource = hs;
-                                               break;
-                                       }
-                               }
-                       }
-
-                       return helpSource;
-               }
-
-               public HelpSource GetHelpSourceAndIdFromName (string name, out string internalId, out Node node)
-               {
-                       internalId = "root:";
-                       node = LookupEntryPoint (name);
-
-                       return node == null ? null : node.ChildNodes.Select (n => n.Tree.HelpSource).FirstOrDefault (hs => hs != null);
-               }
-
-               public HelpSource GetHelpSourceFromId (int id)
-               {
-                       return  (id < 0 || id >= this.helpSources.Count) ? null : this.helpSources[id];
-               }
-
-               public Stream GetImage (string url)
-               {
-                       if (url.StartsWith ("source-id:", StringComparison.OrdinalIgnoreCase)) {
-                               string text = url.Substring (10);
-                               int num = text.IndexOf (":");
-                               string text2 = text.Substring (0, num);
-                               int id = 0;
-                               if (!int.TryParse (text2, out id)) {
-                                       Console.Error.WriteLine ("Failed to parse source-id url: {0} `{1}'", url, text2);
-                                       return null;
-                               }
-                               HelpSource helpSourceFromId = this.GetHelpSourceFromId (id);
-                               return helpSourceFromId.GetImage (text.Substring (num + 1));
-                       }
-                       Assembly assembly = Assembly.GetAssembly (typeof (RootTree));
-                       return assembly.GetManifestResourceStream (url);
-               }
-
-               public IndexReader GetIndex ()
-               {
-                       var paths = GetIndexesPathPrefixes ().Select (bp => Path.Combine (bp, "monodoc.index"));
-                       var p = paths.FirstOrDefault (File.Exists);
-                       return p == null ? (IndexReader)null : IndexReader.Load (p);
-               }
-
-               public static void MakeIndex ()
-               {
-                       RootTree rootTree = RootTree.LoadTree ();
-                       rootTree.GenerateIndex ();
-               }
-
-               public bool GenerateIndex ()
-               {
-                       IndexMaker indexMaker = new IndexMaker ();
-                       foreach (HelpSource current in this.helpSources)
-                               current.PopulateIndex (indexMaker);
-
-                       var paths = GetIndexesPathPrefixes ().Select (bp => Path.Combine (bp, "monodoc.index"));
-                       bool successful = false;
-
-                       foreach (var path in paths) {
-                               try {
-                                       indexMaker.Save (path);
-                                       successful = true;
-                                       if (RootTree.IsUnix)
-                                               RootTree.chmod (path, 420);
-                               } catch (UnauthorizedAccessException) {
-                               }
-                       }
-                       if (!successful) {
-                               Console.WriteLine ("You don't have permissions to write on any of [" + string.Join (", ", paths) + "]");
-                               return false;
-                       }
-
-                       Console.WriteLine ("Documentation index updated");
-                       return true;
-               }
-
-               public SearchableIndex GetSearchIndex ()
-               {
-                       var paths = GetIndexesPathPrefixes ().Select (bp => Path.Combine (bp, "search_index"));
-                       var p = paths.FirstOrDefault (Directory.Exists);
-                       return p == null ? (SearchableIndex)null : SearchableIndex.Load (p);
-               }
-
-               public static void MakeSearchIndex ()
-               {
-                       RootTree rootTree = RootTree.LoadTree ();
-                       rootTree.GenerateSearchIndex ();
-               }
-
-               public bool GenerateSearchIndex ()
-               {
-                       Console.WriteLine ("Loading the monodoc tree...");
-                       IndexWriter indexWriter = null;
-                       var analyzer = new StandardAnalyzer (Lucene.Net.Util.Version.LUCENE_CURRENT);
-                       var paths = GetIndexesPathPrefixes ().Select (bp => Path.Combine (bp, "search_index"));
-                       bool successful = false;
-
-                       foreach (var path in paths) {
-                               try {
-                                       if (!Directory.Exists (path))
-                                               Directory.CreateDirectory (path);
-                                       var directory = Lucene.Net.Store.FSDirectory.Open (path);
-                                       indexWriter = new IndexWriter (directory, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
-                                       successful = true;
-                               } catch (UnauthorizedAccessException) {}
-                       }
-                       if (!successful) {
-                               Console.WriteLine ("You don't have permissions to write on any of [" + string.Join (", ", paths) + "]");
-                               return false;
-                       }
-                       Console.WriteLine ("Collecting and adding documents...");
-                       foreach (HelpSource current in this.helpSources) {
-                               current.PopulateSearchableIndex (indexWriter);
-                       }
-                       Console.WriteLine ("Closing...");
-                       indexWriter.Optimize ();
-                       indexWriter.Close ();
-                       return true;
-               }
-
-               [DllImport ("libc")]
-               static extern int chmod (string filename, int mode);
-
-               IEnumerable<string> GetIndexesPathPrefixes ()
-               {
-                       yield return basedir;
-                       yield return Config.Get ("docPath");
-                       var indexDirectory = Config.Get ("monodocIndexDirectory");
-                       if (!string.IsNullOrEmpty (indexDirectory))
-                               yield return indexDirectory;
-                       yield return Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), "monodoc");
-               }
-
-               [Obsolete]
-               public string GetTitle (string url)
-               {
-                       return "Mono Documentation";
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/RootTree_Legacy.cs b/mcs/class/monodoc/Monodoc/RootTree_Legacy.cs
deleted file mode 100644 (file)
index 4d8a8d2..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using System.Diagnostics;
-using System.Collections.Generic;
-
-using Mono.Utilities;
-using Lucene.Net.Index;
-
-#if LEGACY_MODE
-
-namespace Monodoc
-{
-       using Generators;
-
-       public partial class RootTree
-       {
-               static IDocGenerator<string> rawGenerator = new RawGenerator ();
-               static HtmlGenerator htmlGenerator = new HtmlGenerator (null);
-
-               [Obsolete ("Use RawGenerator directly")]
-               public XmlDocument GetHelpXml (string id)
-               {
-                       var rendered = RenderUrl (id, rawGenerator);
-                       if (rendered == null)
-                               return null;
-                       var doc = new XmlDocument ();
-                       doc.LoadXml (RenderUrl (id, rawGenerator));
-                       return doc;
-               }
-
-               [Obsolete ("Use the RenderUrl variant accepting a generator")]
-               public string RenderUrl (string url, out Node n)
-               {
-                       return RenderUrl (url, htmlGenerator, out n);
-               }
-
-               [Obsolete ("Use GenerateIndex")]
-               public static void MakeIndex (RootTree root)
-               {
-                       root.GenerateIndex ();
-               }
-
-               [Obsolete ("Use GenerateSearchIndex")]
-               public static void MakeSearchIndex (RootTree root)
-               {
-                       root.GenerateSearchIndex ();
-               }
-       }
-}
-
-#endif
diff --git a/mcs/class/monodoc/Monodoc/SearchableDocument.cs b/mcs/class/monodoc/Monodoc/SearchableDocument.cs
deleted file mode 100644 (file)
index f7b9dba..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-//
-// SearchableDocument.cs: Abstracts our model of document from the Lucene Document 
-//
-// Author: Mario Sopena
-//
-using Lucene.Net.Documents;
-
-namespace Monodoc
-{
-       struct SearchableDocument
-       {
-               public string Title {
-                       get; set;
-               }
-
-               public string Url {
-                       get; set;
-               }
-
-               public string FullTitle {
-                       get; set;
-               }
-
-               public string HotText {
-                       get; set;
-               }
-
-               public string Text {
-                       get; set;
-               }
-
-               public string Examples {
-                       get; set;
-               }
-
-               public SearchableDocument Reset ()
-               {
-                       Title = Url = FullTitle = HotText = Text = Examples = null;
-                       return this;
-               }
-
-               public Document LuceneDoc {
-                       get {
-                               Document doc = new Document ();
-                               doc.Add (UnIndexed ("title", Title));
-                               doc.Add (UnIndexed ("url", Url));
-                               doc.Add (UnIndexed ("fulltitle", FullTitle ?? string.Empty));
-                               doc.Add (UnStored ("hottext", HotText));
-                               doc.Add (UnStored ("text", Text));
-                               doc.Add (UnStored ("examples", Examples));
-                               return doc;
-                       }
-               }
-
-               static Field UnIndexed(System.String name, System.String value_Renamed)
-               {
-                       return new Field(name, value_Renamed, Field.Store.YES, Field.Index.NO);
-               }
-
-               static Field UnStored(System.String name, System.String value_Renamed)
-               {
-                       return new Field(name, value_Renamed, Field.Store.NO, Field.Index.ANALYZED);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/SearchableIndex.cs b/mcs/class/monodoc/Monodoc/SearchableIndex.cs
deleted file mode 100644 (file)
index f323409..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-//
-//
-// SearchableIndex.cs: Index that uses Lucene to search through the docs 
-//
-// Author: Mario Sopena
-//
-
-using System;
-using System.IO;
-using System.Collections.Generic;
-// Lucene imports
-using Lucene.Net.Index;
-using Lucene.Net.Documents;
-using Lucene.Net.Analysis;
-using Lucene.Net.Analysis.Standard;
-using Lucene.Net.Search;
-using Lucene.Net.QueryParsers;
-using Lucene.Net.Store;
-
-namespace Monodoc
-{
-       public class SearchableIndex 
-       {
-               const int maxSearchCount = 30;
-
-               IndexSearcher searcher;
-               string dir;
-
-               public string Dir {
-                       get { 
-                               if (dir == null)
-                                       dir = "search_index";
-                               return dir;
-                       }
-                       set { dir = value; }
-               }
-
-               public static SearchableIndex Load (string dir)
-               {
-                       SearchableIndex s = new SearchableIndex ();
-                       s.dir = dir;
-                       try {
-                               //s.searcher = new IndexSearcher (dir);
-                               // TODO: parametrize that depending if we run on the desktop (low footprint) or the server (use RAMDirectory for instance)
-                               s.searcher = new IndexSearcher (FSDirectory.Open (dir));
-                       } catch (IOException) {
-                               Console.WriteLine ("Index nonexistent or in bad format");
-                               return null;
-                       }
-                       return s;
-               }
-               
-               public Result Search (string term)
-               {
-                       return Search (term, maxSearchCount);
-               }
-
-               public Result Search (string term, int count)
-               {
-                       return Search (term, count, 0);
-               }
-
-               public Result Search (string term, int count, int start) {
-                       try {
-                               term = term.ToLower ();
-                               Term htTerm = new Term ("hottext", term);
-                               Query qq1 = new FuzzyQuery (htTerm);
-                               Query qq2 = new TermQuery (htTerm);
-                               qq2.Boost = 10f;
-                               Query qq3 = new PrefixQuery (htTerm);
-                               qq3.Boost = 10f;
-                               DisjunctionMaxQuery q1 = new DisjunctionMaxQuery (0f);
-                               q1.Add (qq1);
-                               q1.Add (qq2);
-                               q1.Add (qq3);
-                               Query q2 = new TermQuery (new Term ("text", term));
-                               q2.Boost = 3f;
-                               Query q3 = new TermQuery (new Term ("examples", term));
-                               q3.Boost = 3f;
-                               DisjunctionMaxQuery q = new DisjunctionMaxQuery (0f);
-
-                               q.Add (q1);
-                               q.Add (q2);
-                               q.Add (q3);
-                       
-                               TopDocs top = SearchInternal (q, count, start);
-                               Result r = new Result (term, searcher, top.ScoreDocs);
-                               return r;
-                       } catch (IOException) {
-                               Console.WriteLine ("No index in {0}", dir);
-                               return null;
-                       }
-               }
-
-               TopDocs SearchInternal (Query q, int count, int start)
-               {
-                       // Easy path that doesn't involve creating a Collector ourselves
-                       // watch for Lucene.NET improvement on that (like searcher.SearchAfter)
-                       if (start == 0)
-                               return searcher.Search (q, count);
-
-                       var weight = searcher.CreateWeight (q); // TODO: reuse weight instead of query
-                       var collector = TopScoreDocCollector.Create (start + count + 1, false);
-                       searcher.Search (q, collector);
-
-                       return collector.TopDocs (start, count);
-               }
-
-               public Result FastSearch (string term, int number)
-               {
-                       try {
-                               term = term.ToLower ();
-                               Query q1 = new TermQuery (new Term ("hottext", term));
-                               Query q2 = new PrefixQuery (new Term ("hottext", term));
-                               q2.Boost = 0.5f;
-                               DisjunctionMaxQuery q = new DisjunctionMaxQuery (0f);
-                               q.Add (q1);
-                               q.Add (q2);
-                               TopDocs top = searcher.Search (q, number);
-                               return new Result (term, searcher, top.ScoreDocs);
-                       } catch (IOException) {
-                               Console.WriteLine ("No index in {0}", dir);
-                               return null;
-                       }
-               }
-       }
-
-       //
-       // An object representing the search term with the results
-       // 
-       public class Result {
-               string term;
-               Searcher searcher;
-               ScoreDoc[] docs;
-
-               public string Term {
-                       get { return term;}
-               }
-
-               public int Count {
-                       get { return docs.Length; }
-               }
-
-               public Document this [int i] {
-                       get { return searcher.Doc (docs[i].Doc); }
-               }
-       
-               public string GetTitle (int i) 
-               {
-                       Document d = this[i];
-                       return d == null ? string.Empty : d.Get ("title");
-               }
-
-               public string GetUrl (int i)
-               {
-                       Document d = this[i];
-                       return d == null ? string.Empty : d.Get ("url");
-               }
-
-               public string GetFullTitle (int i)
-               {
-                       Document d = this[i];
-                       return d == null ? string.Empty : d.Get ("fulltitle");
-               }
-
-               public float Score (int i)
-               {
-                       return docs[i].Score;
-               }
-
-               public Result (string Term, Searcher searcher, ScoreDoc[] docs) 
-               {
-                       this.term = Term;
-                       this.searcher = searcher;
-                       this.docs = docs;
-               }
-       }
-}
-
diff --git a/mcs/class/monodoc/Monodoc/Tree.cs b/mcs/class/monodoc/Monodoc/Tree.cs
deleted file mode 100644 (file)
index 3ed9648..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Xml;
-using System.Collections.Generic;
-
-namespace Monodoc
-{
-       /// <summary>
-       ///    This tree is populated by the documentation providers, or populated
-       ///    from a binary encoding of the tree.  The format of the tree is designed
-       ///    to minimize the need to load it in full.
-       /// </summary>
-
-       /* Ideally this class should also be abstracted to let user have something
-        * else than a file as a backing store, a database for instance
-        */
-       public class Tree
-#if LEGACY_MODE
-               : Node
-#endif
-       {
-               public const long CurrentVersionNumber = 1;
-               const int VersionNumberKey = -(int)'v';
-               public readonly HelpSource HelpSource;
-       
-               FileStream InputStream;
-               BinaryReader InputReader;
-
-#if !LEGACY_MODE
-               // This is the node which contains all the other node of the tree
-               Node rootNode;
-#endif
-
-               /// <summary>
-               ///   Load from file constructor
-               /// </summary>
-               public Tree (HelpSource hs, string filename)
-#if LEGACY_MODE
-                       : base (null, null)
-#endif
-               {
-                       HelpSource = hs;
-                       Encoding utf8 = new UTF8Encoding (false, true);
-
-                       if (!File.Exists (filename)){
-                               throw new FileNotFoundException ();
-                       }
-               
-                       InputStream = File.OpenRead (filename);
-                       InputReader = new BinaryReader (InputStream, utf8);
-                       byte [] sig = InputReader.ReadBytes (4);
-               
-                       if (!GoodSig (sig))
-                               throw new Exception ("Invalid file format");
-               
-                       InputStream.Position = 4;
-                       // Try to read old version information
-                       if (InputReader.ReadInt32 () == VersionNumberKey)
-                               VersionNumber = InputReader.ReadInt64 ();
-                       else {
-                               // We try to see if there is a version number at the end of the file
-                               InputStream.Seek (-(4 + 8), SeekOrigin.End); // VersionNumberKey + long
-                               try {
-                                       if (InputReader.ReadInt32 () == VersionNumberKey)
-                                               VersionNumber = InputReader.ReadInt64 ();
-                               } catch {}
-                               // We set the stream back at the beginning of the node definition list
-                               InputStream.Position = 4;
-                       }
-
-                       var position = InputReader.ReadInt32 ();
-#if !LEGACY_MODE
-                       rootNode = new Node (this, position);
-#else
-                       Address = position;
-#endif
-                       InflateNode (RootNode);
-               }
-
-               /// <summary>
-               ///    Tree creation and merged tree constructor
-               /// </summary>
-               public Tree (HelpSource hs, string caption, string url)
-#if !LEGACY_MODE
-                       : this (hs, null, caption, url)
-               {
-               }
-#else
-                       : base (caption, url)
-               {
-                       HelpSource = hs;
-               }
-#endif
-
-
-               public Tree (HelpSource hs, Node parent, string caption, string element)
-#if LEGACY_MODE
-                       : base (parent, caption, element)
-#endif
-               {
-                       HelpSource = hs;
-#if !LEGACY_MODE
-                       rootNode = parent == null ? new Node (this, caption, element) : new Node (parent, caption, element);
-#endif
-               }
-
-               /// <summary>
-               ///    Saves the tree into the specified file using the help file format.
-               /// </summary>
-               public void Save (string file)
-               {
-                       Encoding utf8 = new UTF8Encoding (false, true);
-                       using (FileStream output = File.OpenWrite (file)){
-                               // Skip over the pointer to the first node.
-                               output.Position = 4 + 4;
-                       
-                               using (BinaryWriter writer = new BinaryWriter (output, utf8)) {
-                                       // Recursively dump
-                                       RootNode.Serialize (output, writer);
-                                       // We want to generate 2.10 compatible files so we write the version number at the end
-                                       writer.Write (VersionNumberKey);
-                                       writer.Write (CurrentVersionNumber);
-
-                                       output.Position = 0;
-                                       writer.Write (new byte [] { (byte) 'M', (byte) 'o', (byte) 'H', (byte) 'P' });
-                                       writer.Write (RootNode.Address);
-                               }
-                       }
-               }
-
-               public Node RootNode {
-                       get {
-#if LEGACY_MODE
-                               return this;
-#else
-                               return rootNode;
-#endif
-                       }
-               }
-
-               public long VersionNumber {
-                       get;
-                       private set;
-               }
-
-               static bool GoodSig (byte [] sig)
-               {
-                       if (sig.Length != 4)
-                               return false;
-                       return sig [0] == (byte) 'M'
-                               && sig [1] == (byte) 'o'
-                           && sig [2] == (byte) 'H'
-                               && sig [3] == (byte) 'P';
-               }
-
-               public void InflateNode (Node baseNode)
-               {
-                       var address = baseNode.Address;
-                       if (address < 0)
-                               address = -address;
-
-                       InputStream.Position = address;
-                       baseNode.Deserialize (InputReader);
-               }
-
-               // Nodes use this value to know if they should manually re-sort their child
-               // if they come from an older generator version
-               internal bool ForceResort {
-                       get {
-                               return VersionNumber == 0;
-                       }
-               }
-       }
-
-       public static class TreeDumper
-       {
-               static int indent;
-
-               static void Indent ()
-               {
-                       for (int i = 0; i < indent; i++)
-                               Console.Write ("   ");
-               }
-       
-               public static void PrintTree (Node node)
-               {
-                       Indent ();
-                       Console.WriteLine ("{0},{1}\t[PublicUrl: {2}]", node.Element, node.Caption, node.PublicUrl);
-                       if (node.ChildNodes.Count == 0)
-                               return;
-
-                       indent++;
-                       foreach (Node n in node.ChildNodes)
-                               PrintTree (n);
-                       indent--;
-               }
-
-               public static string ExportToTocXml (Node root, string title, string desc)
-               {
-                       if (root == null)
-                               throw new ArgumentNullException ("root");
-                       // Return a toc index of sub-nodes
-                       StringBuilder buf = new StringBuilder ();
-                       var writer = XmlWriter.Create (buf);
-                       writer.WriteStartElement ("toc");
-                       writer.WriteAttributeString ("title", title ?? string.Empty);
-                       writer.WriteElementString ("description", desc ?? string.Empty);
-                       writer.WriteStartElement ("list");
-                       foreach (Node n in root.ChildNodes) {
-                               writer.WriteStartElement ("item");
-                               writer.WriteAttributeString ("url", n.Element);
-                               writer.WriteValue (n.Caption);
-                               writer.WriteEndElement ();
-                       }
-                       writer.WriteEndElement ();
-                       writer.WriteEndElement ();
-                       writer.Flush ();
-                       writer.Close ();
-
-                       return buf.ToString ();
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/TypeUtils.cs b/mcs/class/monodoc/Monodoc/TypeUtils.cs
deleted file mode 100644 (file)
index 33a2838..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-
-namespace Monodoc
-{
-       public static class TypeUtils
-       {
-               public static bool GetNamespaceAndType (string url, out string ns, out string type)
-               {
-                       int nsidx = -1;
-                       int numLt = 0;
-                       for (int i = 0; i < url.Length; ++i) {
-                               char c = url [i];
-                               switch (c) {
-                               case '<':
-                               case '{':
-                                       ++numLt;
-                                       break;
-                               case '>':
-                               case '}':
-                                       --numLt;
-                                       break;
-                               case '.':
-                                       if (numLt == 0)
-                                               nsidx = i;
-                                       break;
-                               }
-                       }
-
-                       if (nsidx == -1) {
-                               ns = null;
-                               type = null;
-                               return false;
-                       }
-                       ns = url.Substring (0, nsidx);
-                       type = url.Substring (nsidx + 1);
-               
-                       return true;
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/cache.cs b/mcs/class/monodoc/Monodoc/cache.cs
deleted file mode 100644 (file)
index f103202..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-using System;
-using System.Linq;
-using System.IO;
-using System.Configuration;
-using System.Collections.Specialized;
-using Monodoc.Caches;
-
-namespace Monodoc
-{
-       public enum DocEntity
-       {
-               Text,
-               Blob
-       }
-
-       public interface IDocCache : IDisposable
-       {
-               bool IsCached (string id);
-               bool CanCache (DocEntity entity);
-
-               Stream GetCachedStream (string id);
-               string GetCachedString (string id);
-
-               void CacheText (string id, string content);
-               void CacheText (string id, Stream stream);
-
-               void CacheBlob (string id, byte[] data);
-               void CacheBlob (string id, Stream stream);
-       }
-
-       public static class DocCacheHelper
-       {
-               static string cacheBaseDirectory;
-
-               static DocCacheHelper ()
-               {
-                       try {
-                               var cacheConfig = Config.Get ("cache");
-                               if (cacheConfig == null) return;
-                               var cacheValues = cacheConfig.Split (',');
-                               if (cacheValues.Length == 2 && cacheValues[0].Equals ("file", StringComparison.Ordinal))
-                                       cacheBaseDirectory = cacheValues[1].Replace ("~", Environment.GetFolderPath (Environment.SpecialFolder.Personal));
-                       } catch {}
-               }
-
-               // Use configuration option to query for cache directory, if it doesn't exist we instantiate a nullcache
-               public static IDocCache GetDefaultCache (string name)
-               {
-                       if (cacheBaseDirectory == null)
-                               return new NullCache ();
-
-                       return new FileCache (Path.Combine (cacheBaseDirectory, name));
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/caches/FileCache.cs b/mcs/class/monodoc/Monodoc/caches/FileCache.cs
deleted file mode 100644 (file)
index 75ccdd8..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-using System;
-using System.IO;
-
-namespace Monodoc.Caches
-{
-       public class FileCache : IDocCache
-       {
-               string baseCacheDir;
-
-               public FileCache (string baseCacheDir)
-               {
-                       this.baseCacheDir = baseCacheDir;
-                       if (!Directory.Exists (baseCacheDir))
-                               Directory.CreateDirectory (baseCacheDir);
-               }
-
-               public bool IsCached (string id)
-               {
-                       return File.Exists (MakePath (id));
-               }
-
-               public bool CanCache (DocEntity entity)
-               {
-                       return true;
-               }
-
-               public Stream GetCachedStream (string id)
-               {
-                       return File.OpenRead (MakePath (id));
-               }
-
-               public string GetCachedString (string id)
-               {
-                       return File.ReadAllText (MakePath (id));
-               }
-
-               public void CacheText (string id, string content)
-               {
-                       File.WriteAllText (MakePath (id), content);
-               }
-
-               public void CacheText (string id, Stream stream)
-               {
-                       using (var file = File.OpenWrite (MakePath (id)))
-                               stream.CopyTo (file);
-               }
-
-               public void CacheBlob (string id, byte[] data)
-               {
-                       File.WriteAllBytes (MakePath (id), data);
-               }
-
-               public void CacheBlob (string id, Stream stream)
-               {
-                       using (var file = File.OpenWrite (MakePath (id)))
-                               stream.CopyTo (file);
-               }
-
-               string MakePath (string id)
-               {
-                       id = id.Replace (Path.DirectorySeparatorChar, '_');
-                       return Path.Combine (baseCacheDir, id);
-               }
-
-               public void Dispose ()
-               {
-                       if (!Directory.Exists (baseCacheDir))
-                               return;
-
-                       try {
-                               Directory.Delete (baseCacheDir, true);
-                       } catch {}
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/caches/NullCache.cs b/mcs/class/monodoc/Monodoc/caches/NullCache.cs
deleted file mode 100644 (file)
index 628397e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-using System;
-using System.IO;
-
-namespace Monodoc.Caches
-{
-       // This is basically a no-cache implementation
-       public class NullCache : IDocCache
-       {
-               public bool IsCached (string id)
-               {
-                       return false;
-               }
-
-               public bool CanCache (DocEntity entity)
-               {
-                       return false;
-               }
-
-               public Stream GetCachedStream (string id)
-               {
-                       return null;
-               }
-
-               public string GetCachedString (string id)
-               {
-                       return null;
-               }
-
-               public void CacheText (string id, string content)
-               {
-
-               }
-
-               public void CacheText (string id, Stream stream)
-               {
-
-               }
-
-               public void CacheBlob (string id, byte[] data)
-               {
-
-               }
-
-               public void CacheBlob (string id, Stream stream)
-               {
-
-               }
-
-               public void Dispose ()
-               {
-                       
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generator.cs b/mcs/class/monodoc/Monodoc/generator.cs
deleted file mode 100644 (file)
index 9b117d4..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Monodoc
-{
-       // All type of documents that a generator may find as input
-       public enum DocumentType {
-               EcmaXml, // Our main monodoc format
-               EcmaSpecXml,
-               Man,
-               AddinXml,
-               MonoBook, // This is mostly XHTML already, just need a tiny bit of processing
-               Html,
-               TocXml, // Used by help source displaying some kind of toc of the content they host
-               PlainText,
-               ErrorXml
-       }
-
-       /* This interface defines a set of transformation engine
-        * that convert multiple documentation source to a single output format
-        */
-       public interface IDocGenerator<TOutput>
-       {
-               /* This method is responsible for finding out the documentation type
-                * for the given ID and use the right engine internally
-                * The id can be accompanied by a context dictionary giving away extra
-                * informtion to the renderer
-                */
-               TOutput Generate (HelpSource hs, string internalId, Dictionary<string, string> context);
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/HtmlGenerator.cs b/mcs/class/monodoc/Monodoc/generators/HtmlGenerator.cs
deleted file mode 100644 (file)
index 7b15741..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Collections.Generic;
-
-using Monodoc;
-
-namespace Monodoc.Generators
-{
-       using Html;
-
-       interface IHtmlExporter
-       {
-               string CssCode { get; }
-               string Export (Stream input, Dictionary<string, string> extras);
-               string Export (string input, Dictionary<string, string> extras);
-       }
-
-       public class HtmlGenerator : IDocGenerator<string>
-       {
-               const string cachePrefix = "htmlcached#";
-
-               static string css_code;
-
-               IDocCache defaultCache;
-               static Dictionary<DocumentType, IHtmlExporter> converters;
-
-               static HtmlGenerator ()
-               {
-                       converters = new Dictionary<DocumentType, IHtmlExporter> {
-                               { DocumentType.EcmaXml, new Ecma2Html () },
-                               { DocumentType.Man, new Man2Html () },
-                               { DocumentType.TocXml, new Toc2Html () },
-                               { DocumentType.EcmaSpecXml, new Ecmaspec2Html () },
-                               { DocumentType.ErrorXml, new Error2Html () },
-                               { DocumentType.Html, new Idem () },
-                               { DocumentType.MonoBook, new MonoBook2Html () },
-                               { DocumentType.AddinXml, new Addin2Html () },
-                               { DocumentType.PlainText, new Idem () },
-                       };
-               }
-
-               public HtmlGenerator (IDocCache defaultCache)
-               {
-                       this.defaultCache = defaultCache;
-               }
-
-               public string Generate (HelpSource hs, string id, Dictionary<string, string> context)
-               {
-                       string specialPage = null;
-                       if (context != null && context.TryGetValue ("specialpage", out specialPage) && specialPage == "master-root")
-                               return GenerateMasterRootPage (hs != null ? hs.RootTree : null);
-
-                       if (id == "root:" && hs == null)
-                               return MakeEmptySummary ();
-
-                       if (hs == null || string.IsNullOrEmpty (id))
-                               return MakeHtmlError (string.Format ("Your request has found no candidate provider [hs=\"{0}\", id=\"{1}\"]",
-                                                                    hs == null ? "(null)" : hs.Name, id ?? "(null)"));
-
-                       var cache = defaultCache ?? hs.Cache;
-                       if (cache != null && cache.IsCached (MakeCacheKey (hs, id, null)))
-                               return cache.GetCachedString (MakeCacheKey (hs, id, null));
-
-                       IEnumerable<string> parts;
-                       if (hs.IsMultiPart (id, out parts))
-                               return GenerateMultiPart (hs, parts, id, context);
-
-                       if (hs.IsRawContent (id))
-                               return hs.GetText (id) ?? string.Empty;
-
-                       DocumentType type = hs.GetDocumentTypeForId (id);
-                       if (cache != null && context != null && cache.IsCached (MakeCacheKey (hs, id, context)))
-                               return cache.GetCachedString (MakeCacheKey (hs, id, context));
-
-                       IHtmlExporter exporter;
-                       if (!converters.TryGetValue (type, out exporter))
-                               return MakeHtmlError (string.Format ("Input type '{0}' not supported",
-                                                                    type.ToString ()));
-                       var result = hs.IsGeneratedContent (id) ? 
-                               exporter.Export (hs.GetCachedText (id), context) :
-                               exporter.Export (hs.GetCachedHelpStream (id), context);
-
-                       if (cache != null)
-                               cache.CacheText (MakeCacheKey (hs, id, context), result);
-                       return result;
-               }
-
-               string GenerateMultiPart (HelpSource hs, IEnumerable<string> ids, string originalId, Dictionary<string, string> context)
-               {
-                       var sb = new StringBuilder ();
-                       foreach (var id in ids)
-                               sb.AppendLine (Generate (hs, id, context));
-
-                       var cache = defaultCache ?? hs.Cache;
-                       if (cache != null)
-                               cache.CacheText (MakeCacheKey (hs, originalId, null), sb.ToString ());
-                       return sb.ToString ();
-               }
-
-               string GenerateMasterRootPage (RootTree rootTree)
-               {
-                       if (rootTree == null)
-                               return string.Empty;
-                       var assembly = System.Reflection.Assembly.GetAssembly (typeof (HtmlGenerator));
-                       var hpStream = assembly.GetManifestResourceStream ("home.html");
-                       var home = new StreamReader (hpStream).ReadToEnd ();
-                       var links = string.Join (Environment.NewLine,
-                                                rootTree.RootNode.ChildNodes.Select (n => string.Format ("<li><a href=\"{0}\">{1}</a></li>", n.Element, n.Caption)));
-                       return home.Replace ("@@API_DOCS@@", links);
-               }
-
-               public static string InlineCss {
-                       get {
-                               if (css_code != null)
-                                       return css_code;
-
-                               System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly (typeof (HtmlGenerator));
-                               Stream str_css = assembly.GetManifestResourceStream ("base.css");
-                               StringBuilder sb = new StringBuilder ((new StreamReader (str_css)).ReadToEnd());
-                               sb.Replace ("@@FONT_FAMILY@@", "Sans Serif");
-                               sb.Replace ("@@FONT_SIZE@@", "100%");
-                               css_code = sb.ToString () + converters.Values
-                                       .Select (c => c.CssCode)
-                                       .Where (css => !string.IsNullOrEmpty (css))
-                                       .DefaultIfEmpty (string.Empty)
-                                       .Aggregate (string.Concat);
-                               return css_code;
-                       }
-                       set { 
-                               css_code = value;
-                       }
-               }
-
-               string MakeHtmlError (string error)
-               {
-                       return string.Format ("<html><head></head><body><p><em>Error:</em> {0}</p></body></html>", error);
-               }
-
-               string MakeEmptySummary ()
-               {
-                       return @"<html><head></head><body><p><em>This node doesn't have a summary available</p></body></html>";
-               }
-
-               string MakeCacheKey (HelpSource hs, string page, IDictionary<string,string> extraParams)
-               {
-                       var key = cachePrefix + hs.SourceID + page;
-                       if (extraParams != null && extraParams.Count > 0) {
-                               var paramPart = string.Join ("-", extraParams.Select (kvp => kvp.Key + kvp.Value));
-                               key += '_' + paramPart;
-                       }
-                       return key;
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/RawGenerator.cs b/mcs/class/monodoc/Monodoc/generators/RawGenerator.cs
deleted file mode 100644 (file)
index 88439d8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Collections.Generic;
-
-using Monodoc;
-
-namespace Monodoc.Generators
-{
-       /// <summary>
-       /// This generators returns the raw content of the HelpSource without any transformation
-       /// </summary>
-       public class RawGenerator : IDocGenerator<string>
-       {
-               public string Generate (HelpSource hs, string id, Dictionary<string, string> context)
-               {
-                       if (hs == null || string.IsNullOrEmpty (id))
-                               return null;
-
-                       IEnumerable<string> parts;
-                       if (hs.IsMultiPart (id, out parts))
-                               return GenerateMultiPart (hs, parts, id, context);
-
-                       if (hs.IsRawContent (id))
-                               return hs.GetText (id) ?? string.Empty;
-
-                       var result = hs.IsGeneratedContent (id) ? hs.GetCachedText (id) : new StreamReader (hs.GetCachedHelpStream (id)).ReadToEnd ();
-
-                       return result;
-               }
-
-               string GenerateMultiPart (HelpSource hs, IEnumerable<string> ids, string originalId, Dictionary<string, string> context)
-               {
-                       var sb = new StringBuilder ();
-                       foreach (var id in ids)
-                               sb.AppendLine (Generate (hs, id, context));
-                       return sb.ToString ();
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Addin2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/Addin2Html.cs
deleted file mode 100644 (file)
index 2cd5ea0..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Xml.Xsl;
-using System.Xml.XPath;
-using System.Collections.Generic;
-
-namespace Monodoc.Generators.Html
-{
-       public class Addin2Html : IHtmlExporter
-       {
-               public string CssCode {
-                       get {
-                               return string.Empty;
-                       }
-               }
-
-               public string Export (Stream stream, Dictionary<string, string> extraArgs)
-               {
-                       using (var reader = new StreamReader (stream))
-                               return Htmlize (GetAddin (reader, extraArgs["AddinID"]),
-                                               extraArgs["show"],
-                                               extraArgs["AddinID"],
-                                               extraArgs["FileID"],
-                                               extraArgs["NodeID"]);
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (GetAddin (new StringReader (input), extraArgs["AddinID"]),
-                                       extraArgs["show"],
-                                       extraArgs["AddinID"],
-                                       extraArgs["FileID"],
-                                       extraArgs["NodeID"]);
-               }
-
-               XmlElement GetAddin (TextReader reader, string addinId)
-               {
-                       XmlDocument doc = new XmlDocument ();
-                       doc.Load (reader);
-                       XmlElement addin = (XmlElement) doc.SelectSingleNode ("Addins/Addin[@fullId='" + addinId + "']");
-                       return addin != null ? addin : null;
-               }
-
-               public string Htmlize (XmlElement addin, string urlType, string addinId, string fileId, string path)
-               {
-                       if (urlType == Monodoc.Providers.AddinsHelpSource.AddinPrefix)
-                               return GetAddinTextFromUrl (addin, addinId, fileId);
-                       else if (urlType == Monodoc.Providers.AddinsHelpSource.ExtensionPrefix)
-                               return GetExtensionTextFromUrl (addin, addinId, fileId, path);
-                       else if (urlType == Monodoc.Providers.AddinsHelpSource.ExtensionNodePrefix)
-                               return GetExtensionNodeTextFromUrl (addin, addinId, fileId, path);
-
-                       return null;
-               }
-
-               protected string GetAddinTextFromUrl (XmlElement addin, string addinId, string fileId)
-               {
-                       if (addin == null)
-                               return "<html>Add-in not found: " + addinId + "</html>";
-                       
-                       StringBuilder sb = new StringBuilder ("<html>");
-                       sb.Append ("<h1>").Append (addin.GetAttribute ("name")).Append ("</h1>");
-                       XmlElement docs = (XmlElement) addin.SelectSingleNode ("Description");
-                       if (docs != null)
-                               sb.Append (docs.InnerText);
-
-                       sb.Append ("<p><table border=\"1\" cellpadding=\"4\" cellspacing=\"0\">");
-                       sb.AppendFormat ("<tr><td><b>Id</b></td><td>{0}</td></tr>", addin.GetAttribute ("addinId"));
-                       sb.AppendFormat ("<tr><td><b>Namespace</b></td><td>{0}</td></tr>", addin.GetAttribute ("namespace"));
-                       sb.AppendFormat ("<tr><td><b>Version</b></td><td>{0}</td></tr>", addin.GetAttribute ("version"));
-                       sb.Append ("</table></p>");
-                       sb.Append ("<p><b>Extension Points</b>:</p>");
-                       sb.Append ("<ul>");
-                       
-                       foreach (XmlElement ep in addin.SelectNodes ("ExtensionPoint")) {
-                               sb.AppendFormat ("<li><a href=\"extension-point:{0}#{1}#{2}\">{3}</li>", fileId, addinId, ep.GetAttribute ("path"), ep.GetAttribute ("name"));
-                       }
-                       sb.Append ("</ul>");
-                       
-                       sb.Append ("</html>");
-                       return sb.ToString ();
-               }
-               
-               protected string GetExtensionTextFromUrl (XmlElement addin, string addinId, string fileId, string path)
-               {
-                       if (addin == null)
-                               return "<html>Add-in not found: " + addinId + "</html>";
-                       
-                       XmlElement ext = (XmlElement) addin.SelectSingleNode ("ExtensionPoint[@path='" + path + "']");
-                       if (ext == null)
-                               return "<html>Extension point not found: " + path + "</html>";
-                       
-                       StringBuilder sb = new StringBuilder ("<html>");
-                       sb.Append ("<h1>").Append (ext.GetAttribute ("name")).Append ("</h1>");
-
-                       path = path.Replace ("/", " <b>/</b> ");
-                       sb.Append ("<p><b>Path</b>: ").Append (path).Append ("</p>");
-                       XmlElement desc = (XmlElement) ext.SelectSingleNode ("Description");
-                       if (desc != null)
-                               sb.Append (desc.InnerText);
-
-                       sb.Append ("<p><b>Extension Nodes</b>:</p>");
-                       sb.Append ("<table border=\"1\" cellpadding=\"4\" cellspacing=\"0\">");
-                       
-                       foreach (XmlElement en in ext.SelectNodes ("ExtensionNode")) {
-                               string nid = en.GetAttribute ("id");
-                               string nname = en.GetAttribute ("name"); 
-                               string sdesc = "";
-                               desc = (XmlElement) en.SelectSingleNode ("Description");
-                               if (desc != null)
-                                       sdesc = desc.InnerText;
-                               
-                               sb.AppendFormat ("<tr><td><a href=\"extension-node:{0}#{1}#{2}\">{3}</td><td>{4}</td></tr>", fileId, addinId, nid, nname, sdesc);
-                       }
-                       sb.Append ("</table>");
-                       
-                       sb.Append ("</html>");
-                       return sb.ToString ();
-               }
-               
-               protected string GetExtensionNodeTextFromUrl (XmlElement addin, string addinId, string fileId, string nodeId)
-               {
-                       if (addin == null)
-                               return "<html>Add-in not found: " + addinId + "</html>";
-                       
-                       XmlElement node = (XmlElement) addin.SelectSingleNode ("ExtensionNodeType[@id='" + nodeId + "']");
-                       if (node == null)
-                               return "<html>Extension point not found: " + nodeId + "</html>";
-                       
-                       StringBuilder sb = new StringBuilder ("<html>");
-                       sb.Append ("<h1>").Append (node.GetAttribute ("name")).Append ("</h1>");
-                       XmlElement desc = (XmlElement) node.SelectSingleNode ("Description");
-                       if (desc != null)
-                               sb.Append (desc.InnerText);
-
-                       sb.Append ("<p><b>Attributes</b>:</p>");
-                       sb.Append ("<table border=\"1\" cellpadding=\"4\" cellspacing=\"0\"><tr>");
-                       sb.Append ("<td><b>Name</b></td>");
-                       sb.Append ("<td><b>Type</b></td>");
-                       sb.Append ("<td><b>Required</b></td>");
-                       sb.Append ("<td><b>Localizable</b></td>");
-                       sb.Append ("<td><b>Description</b></td>");
-                       sb.Append ("<tr>");
-                       sb.Append ("<td>id</td>");
-                       sb.Append ("<td>System.String</td>");
-                       sb.Append ("<td></td>");
-                       sb.Append ("<td></td>");
-                       sb.Append ("<td>Identifier of the node.</td>");
-                       sb.Append ("</tr>");
-                       
-                       foreach (XmlElement at in node.SelectNodes ("Attributes/Attribute")) {
-                               sb.Append ("<tr>");
-                               sb.AppendFormat ("<td>{0}</td>", at.GetAttribute ("name"));
-                               sb.AppendFormat ("<td>{0}</td>", at.GetAttribute ("type"));
-                               if (at.GetAttribute ("required") == "True")
-                                       sb.Append ("<td>Yes</td>");
-                               else
-                                       sb.Append ("<td></td>");
-                               if (at.GetAttribute ("localizable") == "True")
-                                       sb.Append ("<td>Yes</td>");
-                               else
-                                       sb.Append ("<td></td>");
-                               string sdesc = "";
-                               desc = (XmlElement) at.SelectSingleNode ("Description");
-                               if (desc != null)
-                                       sdesc = desc.InnerText;
-                               
-                               sb.AppendFormat ("<td>{0}</td>", sdesc);
-                               sb.Append ("</tr>");
-                       }
-                       sb.Append ("</table>");
-
-                       XmlNodeList children = node.SelectNodes ("ChildNodes/ExtensionNode");
-                       if (children.Count > 0) {
-                               sb.Append ("<p><b>Child Nodes</b>:</p>");
-                               sb.Append ("<table border=\"1\" cellpadding=\"4\" cellspacing=\"0\">");
-                               
-                               foreach (XmlElement en in children) {
-                                       string nid = en.GetAttribute ("id");
-                                       string nname = en.GetAttribute ("name"); 
-                                       string sdesc = "";
-                                       desc = (XmlElement) en.SelectSingleNode ("Description");
-                                       if (desc != null)
-                                               sdesc = desc.InnerText;
-                                       
-                                       sb.AppendFormat ("<tr><td><a href=\"extension-node:{0}#{1}#{2}\">{3}</td><td>{4}</td></tr>", fileId, addinId, nid, nname, sdesc);
-                               }
-                               sb.Append ("</table>");
-                       }
-                       
-                       sb.Append ("</html>");
-                       return sb.ToString ();
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Ecma2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/Ecma2Html.cs
deleted file mode 100644 (file)
index 560c961..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Linq;
-using System.Xml;
-using System.Xml.Xsl;
-using System.Xml.XPath;
-using System.Collections.Generic;
-
-using Mono.Documentation;
-using BF = System.Reflection.BindingFlags;
-
-namespace Monodoc.Generators.Html
-{
-       public class Ecma2Html : IHtmlExporter
-       {
-               static string css_ecma;
-               static string js;
-               static XslCompiledTransform ecma_transform;
-               readonly ExtensionObject ExtObject = new ExtensionObject ();
-
-               public Ecma2Html ()
-               {
-               }
-
-               public string CssCode {
-                       get {
-                               if (css_ecma != null)
-                                       return css_ecma;
-                               var assembly = typeof(Ecma2Html).Assembly;
-                               Stream str_css = assembly.GetManifestResourceStream ("mono-ecma.css");
-                               css_ecma = (new StreamReader (str_css)).ReadToEnd();
-                               return css_ecma;
-                       }
-               }
-
-               public string JsCode {
-                       get {
-                               if (js != null)
-                                       return js;
-                               var assembly = typeof(Ecma2Html).Assembly;
-                               Stream str_js = assembly.GetManifestResourceStream ("helper.js");
-                               js = (new StreamReader (str_js)).ReadToEnd();
-                               return js;
-                       }
-               }
-               
-               public string Htmlize (XmlReader ecma_xml, Dictionary<string, string> extraArgs)
-               {
-                       var args = new XsltArgumentList ();
-                       args.AddExtensionObject("monodoc:///extensions", ExtObject);
-                       string specialPage;
-                       if (extraArgs.TryGetValue ("specialpage", out specialPage) && specialPage == "root") {
-                               extraArgs.Remove ("specialpage");
-                               extraArgs["show"] = "masteroverview";
-                       }
-
-                       foreach (var kvp in extraArgs)
-                               args.AddParam (kvp.Key, string.Empty, kvp.Value);
-
-                       return Htmlize (ecma_xml, args);
-               }
-
-               public string Htmlize (XmlReader ecma_xml, XsltArgumentList args)
-               {
-                       try{
-                               EnsureTransform ();
-                       
-                               var output = new StringBuilder ();
-                               ecma_transform.Transform (ecma_xml, 
-                                                         args, 
-                                                         XmlWriter.Create (output, ecma_transform.OutputSettings),
-                                                         CreateDocumentResolver ());
-                               return output.ToString ();
-                       }
-                       catch(Exception x)
-                       {
-                               var msg = x.ToString ();
-                               return msg;
-                       }
-               }
-               
-               protected virtual XmlResolver CreateDocumentResolver ()
-               {
-                       // results in using XmlUrlResolver
-                       return null;
-               }
-
-               public string Export (Stream stream, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (XmlReader.Create (new StreamReader(stream)), extraArgs);
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (XmlReader.Create (new StringReader(input)), extraArgs);
-               }
-
-               
-               static void EnsureTransform ()
-               {
-                       if (ecma_transform == null) {
-                               ecma_transform = new XslCompiledTransform ();
-                               var assembly = System.Reflection.Assembly.GetAssembly (typeof (Ecma2Html));
-                       
-                               Stream stream = assembly.GetManifestResourceStream ("mono-ecma-css.xsl");
-                               XmlReader xml_reader = new XmlTextReader (stream);
-                               XmlResolver r = new ManifestResourceResolver (".");
-                               ecma_transform.Load (xml_reader, XsltSettings.TrustedXslt, r);                  
-                       }
-               }
-
-               public class ExtensionObject
-               {
-                       bool quiet = true;
-                       Dictionary<string, System.Reflection.Assembly> assemblyCache = new Dictionary<string, System.Reflection.Assembly> ();
-
-                       public string Colorize(string code, string lang)
-                       {
-                               return Mono.Utilities.Colorizer.Colorize(code,lang);
-                       }
-
-                       // Used by stylesheet to nicely reformat the <see cref=> tags. 
-                       public string MakeNiceSignature(string sig, string contexttype)
-                       {
-                               if (sig.Length < 3)
-                                       return sig;
-                               if (sig[1] != ':')
-                                       return sig;
-
-                               char s = sig[0];
-                               sig = sig.Substring(2);
-                       
-                               switch (s) {
-                               case 'N': return sig;
-                               case 'T': return ShortTypeName (sig, contexttype);
-
-                               case 'C': case 'M': case 'P': case 'F': case 'E':
-                                       string type, mem, arg;
-                                       
-                                       // Get arguments
-                                       int paren;
-                                       if (s == 'C' || s == 'M')
-                                               paren = sig.IndexOf("(");
-                                       else if (s == 'P')
-                                               paren = sig.IndexOf("[");
-                                       else
-                                               paren = 0;
-                                       
-                                       if (paren > 0 && paren < sig.Length-1) {
-                                               string[] args = sig.Substring(paren+1, sig.Length-paren-2).Split(',');                                          
-                                               for (int i = 0; i < args.Length; i++)
-                                                       args[i] = ShortTypeName(args[i], contexttype);
-                                               arg = "(" + String.Join(", ", args) + ")";
-                                               sig = sig.Substring(0, paren); 
-                                       } else {
-                                               arg = string.Empty;
-                                       }
-
-                                       // Get type and member names
-                                       int dot = sig.LastIndexOf(".");
-                                       if (s == 'C' || dot <= 0 || dot == sig.Length-1) {
-                                               mem = string.Empty;
-                                               type = sig;
-                                       } else {
-                                               type = sig.Substring(0, dot);
-                                               mem = sig.Substring(dot);
-                                       }
-                                               
-                                       type = ShortTypeName(type, contexttype);
-                                       
-                                       return type + mem + arg;
-
-                               default:
-                                       return sig;
-                               }
-                       }
-
-                       static string ShortTypeName(string name, string contexttype)
-                       {
-                               int dot = contexttype.LastIndexOf(".");
-                               if (dot < 0) return name;
-                               string contextns = contexttype.Substring(0, dot+1);
-
-                               if (name == contexttype)
-                                       return name.Substring(dot+1);
-                       
-                               if (name.StartsWith(contextns))
-                                       return name.Substring(contextns.Length);
-                       
-                               return name.Replace("+", ".");
-                       }
-
-                       string MonoImpInfo(string assemblyname, string typename, string membername, string arglist, bool strlong)
-                       {
-                               if (quiet)
-                                       return string.Empty;
-                               
-                               var a = new List<string> ();
-                               if (!string.IsNullOrEmpty (arglist)) a.Add (arglist);
-                               return MonoImpInfo(assemblyname, typename, membername, a, strlong);
-                       }
-
-                       string MonoImpInfo(string assemblyname, string typename, string membername, XPathNodeIterator itr, bool strlong)
-                       {
-                               if (quiet)
-                                       return string.Empty;
-                               
-                               var rgs = itr.Cast<XPathNavigator> ().Select (nav => nav.Value).ToList ();
-                       
-                               return MonoImpInfo (assemblyname, typename, membername, rgs, strlong);
-                       }
-               
-                       string MonoImpInfo(string assemblyname, string typename, string membername, List<string> arglist, bool strlong)
-                       {
-                               try {
-                                       System.Reflection.Assembly assembly = null;
-                               
-                                       try {
-                                               if (!assemblyCache.TryGetValue (assemblyname, out assembly)) {
-                                                       assembly = System.Reflection.Assembly.LoadWithPartialName(assemblyname);
-                                                       if (assembly != null)
-                                                               assemblyCache[assemblyname] = assembly;
-                                               }
-                                       } catch (Exception) {
-                                               // nothing.
-                                       }
-                               
-                                       if (assembly == null) {
-                                               /*if (strlong) return "The assembly " + assemblyname + " is not available to MonoDoc.";
-                                                 else return string.Empty;*/
-                                               return string.Empty; // silently ignore
-                                       }
-
-                                       Type t = assembly.GetType(typename, false);
-                                       if (t == null) {
-                                               if (strlong)
-                                                       return typename + " has not been implemented.";
-                                               else
-                                                       return "Not implemented.";
-                                       }
-
-                                       // The following code is flakey and fails to find existing members
-                                       return string.Empty;
-                               } catch (Exception) {
-                                       return string.Empty;
-                               }
-                       }
-               
-                       string MonoImpInfo(System.Reflection.MemberInfo mi, string itemtype, bool strlong)
-                       {
-                               if (quiet)
-                                       return string.Empty;
-                               
-                               string s = string.Empty;
-
-                               object[] atts = mi.GetCustomAttributes(true);
-                               int todoctr = 0;
-                               foreach (object att in atts) if (att.GetType().Name == "MonoTODOAttribute") todoctr++;
-
-                               if (todoctr > 0) {
-                                       if (strlong)
-                                               s = "This " + itemtype + " is marked as being unfinished.<BR/>\n";
-                                       else 
-                                               s = "Unfinished.";
-                               }
-
-                               return s;
-                       }
-
-                       public string MonoImpInfo(string assemblyname, string typename, bool strlong)
-                       {
-                               if (quiet)
-                                       return string.Empty;
-                               
-                               try {
-                                       if (assemblyname == string.Empty)
-                                               return string.Empty;
-
-                                       System.Reflection.Assembly assembly;
-                                       if (!assemblyCache.TryGetValue (assemblyname, out assembly)) {
-                                               assembly = System.Reflection.Assembly.LoadWithPartialName(assemblyname);
-                                               if (assembly != null)
-                                                       assemblyCache[assemblyname] = assembly;
-                                       }
-
-                                       if (assembly == null)
-                                               return string.Empty;
-
-                                       Type t = assembly.GetType(typename, false);
-                                       if (t == null) {
-                                               if (strlong)
-                                                       return typename + " has not been implemented.";
-                                               else
-                                                       return "Not implemented.";
-                                       }
-
-                                       string s = MonoImpInfo(t, "type", strlong);
-
-                                       if (strlong) {
-                                               var mis = t.GetMembers (BF.Static | BF.Instance | BF.Public | BF.NonPublic);
-
-                                               // Scan members for MonoTODO attributes
-                                               int mctr = 0;
-                                               foreach (var mi in mis) {
-                                                       string mii = MonoImpInfo(mi, null, false);
-                                                       if (mii != string.Empty) mctr++; 
-                                               }
-                                               if (mctr > 0) {
-                                                       s += "This type has " + mctr + " members that are marked as unfinished.<BR/>";
-                                               }
-                                       }
-
-                                       return s;
-
-                               } catch (Exception) {
-                                       return string.Empty;
-                               }                       
-                       }
-
-                       public bool MonoEditing ()
-                       {
-                               return false;
-                       }
-               
-                       public bool IsToBeAdded(string text)
-                       {
-                               return text.StartsWith ("To be added");
-                       }
-               }
-       }
-               
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Ecmaspec2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/Ecmaspec2Html.cs
deleted file mode 100644 (file)
index 3585b48..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-using System;
-using System.IO;
-using System.Xml;
-using System.Xml.Xsl;
-using System.Xml.XPath;
-using System.Collections.Generic;
-
-namespace Monodoc.Generators.Html
-{
-       public class Ecmaspec2Html : IHtmlExporter
-       {
-               static string css_ecmaspec;
-               static XslTransform ecma_transform;
-               static XsltArgumentList args = new XsltArgumentList();
-
-               public string CssCode {
-                       get {
-                               if (css_ecmaspec != null)
-                                       return css_ecmaspec;
-                               System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly (typeof (Ecmaspec2Html));
-                               Stream str_css = assembly.GetManifestResourceStream ("ecmaspec.css");
-                               css_ecmaspec = (new StreamReader (str_css)).ReadToEnd ();
-                               return css_ecmaspec;
-                       }
-               }
-
-               class ExtObj
-               {
-                       public string Colorize (string code, string lang)
-                       {
-                               return Mono.Utilities.Colorizer.Colorize (code, lang);
-                       }
-               }
-
-               public string Export (Stream stream, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (new XPathDocument (stream));
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (new XPathDocument (new StringReader (input)));
-               }
-
-               static string Htmlize (XPathDocument ecma_xml)
-               {
-                       if (ecma_transform == null){
-                               ecma_transform = new XslTransform ();
-                               System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly (typeof (Ecmaspec2Html));
-                               Stream stream;
-                               stream = assembly.GetManifestResourceStream ("ecmaspec-html-css.xsl");
-
-                               XmlReader xml_reader = new XmlTextReader (stream);
-                               ecma_transform.Load (xml_reader, null, null);
-                               args.AddExtensionObject ("monodoc:///extensions", new ExtObj ()); 
-                       }
-               
-                       if (ecma_xml == null) return "";
-
-                       StringWriter output = new StringWriter ();
-                       ecma_transform.Transform (ecma_xml, args, output, null);
-               
-                       return output.ToString ();
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Error2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/Error2Html.cs
deleted file mode 100644 (file)
index 67e6c9c..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using System.Xml.XPath;
-using System.Collections.Generic;
-
-namespace Monodoc.Generators.Html
-{
-       public class Error2Html : IHtmlExporter
-       {
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (new XPathDocument (new StringReader (input)));
-               }
-
-               public string Export (Stream input, Dictionary<string, string> extraArgs)
-               {
-                       return Htmlize (new XPathDocument (input));
-               }
-
-               public string CssCode {
-                       get {
-                               return @"
-                                        #error_ref { 
-                                           background: #debcb0; 
-                                           border: 2px solid #782609; 
-                                        }
-                                        div.summary {
-                                                font-size: 110%;
-                                                font-weight: bolder;
-                                        }
-                                        div.details {
-                                                font-size: 110%;
-                                                font-weight: bolder;
-                                        }
-                                        div.code_example {
-                                               background: #f5f5dd;
-                                               border: 1px solid black;
-                                               padding-left: 1em;
-                                               padding-bottom: 1em;
-                                               margin-top: 1em;
-                                               white-space: pre;
-                                               margin-bottom: 1em;
-                                        }
-                                        div.code_ex_title {
-                                               position: relative;
-                                               top: -1em;
-                                               left: 30%;
-                                               background: #cdcd82;
-                                               border: 1px solid black;
-                                               color: black;
-                                               font-size: 65%;
-                                               text-transform: uppercase;
-                                               width: 40%;
-                                               padding: 0.3em;
-                                               text-align: center;
-                                        }";
-                       }
-               }
-
-               public string Htmlize (IXPathNavigable doc)
-               {
-                       var navigator = doc.CreateNavigator ();
-                       var errorName = navigator.SelectSingleNode ("//ErrorDocumentation/ErrorName");
-                       var details = navigator.SelectSingleNode ("//ErrorDocumentation/Details");
-
-                       StringWriter sw = new StringWriter ();
-                       XmlWriter w = new XmlTextWriter (sw);
-                       
-                       WriteElementWithClass (w, "div", "header");
-                       w.WriteAttributeString ("id", "error_ref");
-                       WriteElementWithClass (w, "div", "subtitle", "Compiler Error Reference");
-                       WriteElementWithClass (w, "div", "title", "Error " + (errorName == null ? string.Empty : errorName.Value));
-                       w.WriteEndElement ();
-
-                       if (details != null) {
-                               WriteElementWithClass (w, "div", "summary", "Summary");
-
-                               var summary = details.SelectSingleNode ("/Summary");
-                               w.WriteValue (summary == null ? string.Empty : summary.Value);
-                               
-                               WriteElementWithClass (w, "div", "details", "Details");
-                               var de = details.SelectSingleNode ("/Details");
-                               w.WriteValue (de == null ? string.Empty : de.Value);
-                       }
-                       
-                       foreach (XPathNavigator xmp in navigator.Select ("//ErrorDocumentation/Examples/string")) {
-                               WriteElementWithClass (w, "div", "code_example");
-                               WriteElementWithClass (w, "div", "code_ex_title", "Example");
-                               w.WriteRaw (Mono.Utilities.Colorizer.Colorize (xmp.Value, "c#"));;
-                               w.WriteEndElement ();
-                       }
-                       
-                       w.Close ();
-                       
-                       return sw.ToString ();
-               }
-
-               void WriteElementWithClass (XmlWriter w, string element, string cls, string content = null)
-               {
-                       w.WriteStartElement (element);
-                       w.WriteAttributeString ("class", cls);
-                       if (!string.IsNullOrEmpty (content)) {
-                               w.WriteValue (content);
-                               w.WriteEndElement ();
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Idem.cs b/mcs/class/monodoc/Monodoc/generators/html/Idem.cs
deleted file mode 100644 (file)
index 0c02060..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Collections.Generic;
-
-using Monodoc;
-using Monodoc.Generators;
-
-namespace Monodoc.Generators.Html
-{
-       // Input is expected to be already HTML so just return it
-       public class Idem : IHtmlExporter
-       {
-               public string CssCode {
-                       get {
-                               return string.Empty;
-                       }
-               }
-
-               public string Export (Stream input, Dictionary<string, string> extraArgs)
-               {
-                       if (input == null)
-                               return null;
-                       return new StreamReader (input).ReadToEnd ();
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       if (string.IsNullOrEmpty (input))
-                               return null;
-                       return input;
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Man2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/Man2Html.cs
deleted file mode 100644 (file)
index a065daf..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Collections.Generic;
-
-using Monodoc;
-using Monodoc.Generators;
-
-namespace Monodoc.Generators.Html
-{
-       public class Man2Html : IHtmlExporter
-       {
-               public string CssCode {
-                       get {
-                               return string.Empty;
-                       }
-               }
-
-               public string Export (Stream input, Dictionary<string, string> extraArgs)
-               {
-                       if (input == null)
-                               return null;
-                       return GetTextFromReader (new StreamReader (input));
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       if (string.IsNullOrEmpty (input))
-                               return null;
-                       return GetTextFromReader (new StringReader (input));
-               }
-
-               public static string GetTextFromReader (TextReader file)
-               {
-                       string line;
-                       StateInfo s = new StateInfo ();
-
-                       while ((line = file.ReadLine ()) != null)
-                               ProcessLine (line, s);
-
-                       return s.output.ToString ();
-               }
-
-               enum ListState {
-                       None,
-                       Start,
-                       Title,
-               }
-
-               class StateInfo {
-                       public ListState ls;
-                       public Stack<string> tags = new Stack<string> ();
-                       public StringBuilder output = new StringBuilder ();
-               }
-
-               static void ProcessLine (string line, StateInfo s)
-               {
-                       string[] parts = SplitLine (line);
-                       switch (parts [0]) {
-                       case ".\\\"": // comments
-                       case ".de":   // define macro
-                       case ".if":   // if
-                       case ".ne":   // ???
-                       case "..":    // end macro
-                               // ignore
-                               break;
-                       case ".I":
-                               s.output.Append ("<i>");
-                               Translate (parts, 1, s.output);
-                               s.output.Append ("</i>");
-                               break;
-                       case ".B":
-                               s.output.Append ("<b>");
-                               Translate (parts, 1, s.output);
-                               s.output.Append ("</b>");
-                               break;
-                       case ".br":
-                               Translate (parts, 1, s.output);
-                               s.output.Append ("<br />");
-                               break;
-                       case ".nf":
-                               Expect (s, "</p>");
-                               s.output.Append ("<pre>\n");
-                               s.tags.Push ("</pre>");
-                               break;
-                       case ".fi":
-                               Expect (s, "</pre>");
-                               break;
-                       case ".PP":
-                               Expect (s, "</p>", "</dd>", "</dl>");
-                               goto case ".Sp";
-                       case ".Sp":
-                               Expect (s, "</p>");
-                               s.output.Append ("<p>");
-                               Translate (parts, 1, s.output);
-                               s.tags.Push ("</p>");
-                               break;
-                       case ".RS":
-                               Expect (s, "</p>");
-                               s.output.Append ("<blockquote>");
-                               s.tags.Push ("</blockquote>");
-                               break;
-                       case ".RE":
-                               ClearUntil (s, "</blockquote>");
-                               break;
-                       case ".SH":
-                               ClearAll (s);
-                               s.output.Append ("<h2>");
-                               Translate (parts, 1, s.output);
-                               s.output.Append ("</h2>")
-                                       .Append ("<blockquote>");
-                               s.tags.Push ("</blockquote>");
-                               break;
-                       case ".SS":
-                               s.output.Append ("<h3>");
-                               Translate (parts, 1, s.output);
-                               s.output.Append ("</h3>");
-                               break;
-                       case ".TH": {
-                               ClearAll (s);
-                               string name = "", extra = "";
-                               if (parts.Length >= 4 && parts [2].Trim ().Length == 0) {
-                                       name = parts [1] + "(" + parts [3] + ")";
-                                       if (parts.Length > 4) {
-                                               int start = 4;
-                                               if (parts [start].Trim ().Length == 0)
-                                                       ++start;
-                                               extra = string.Join ("", parts, start, parts.Length-start);
-                                       }
-                               }
-                               else
-                                       name = string.Join ("", parts, 1, parts.Length-1);
-                               s.output.Append ("<table width=\"100%\" bgcolor=\"#b0c4da\">" + 
-                                                "<tr colspan=\"2\"><td>Manual Pages</td></tr>\n" +
-                                                "<tr><td><h3>");
-                               Translate (name, s.output);
-                               s.output.Append ("</h3></td><td align=\"right\">");
-                               Translate (extra, s.output);
-                               s.output.Append ("</td></tr></table>");
-                               break;
-                       }
-                       case ".TP":
-                               Expect (s, "</p>");
-                               if (s.tags.Count > 0 && s.tags.Peek ().ToString () != "</dd>") {
-                                       s.output.Append ("<dl>");
-                                       s.tags.Push ("</dl>");
-                               }
-                               else
-                                       Expect (s, "</dd>");
-                               s.output.Append ("<dt>");
-                               s.tags.Push ("</dt>");
-                               s.ls = ListState.Start;
-                               break;
-                       default:
-                               Translate (line, s.output);
-                               break;
-                       }
-                       if (s.ls == ListState.Start)
-                               s.ls = ListState.Title;
-                       else if (s.ls == ListState.Title) {
-                               Expect (s, "</dt>");
-                               s.output.Append ("<dd>");
-                               s.tags.Push ("</dd>");
-                               s.ls = ListState.None;
-                       }
-                       s.output.Append ("\n");
-               }
-
-               static string[] SplitLine (string line)
-               {
-                       if (line.Length > 1 && line [0] != '.')
-                               return new string[]{null, line};
-
-                       int i;
-                       for (i = 0; i < line.Length; ++i) {
-                               if (char.IsWhiteSpace (line, i))
-                                       break;
-                       }
-
-                       if (i == line.Length)
-                               return new string[]{line};
-
-                       var pieces = new List<string> ();
-                       pieces.Add (line.Substring (0, i));
-                       bool inQuotes = false;
-                       bool prevWs   = true;
-                       ++i;
-                       int start = i;
-                       for ( ; i < line.Length; ++i) {
-                               char c = line [i];
-                               if (inQuotes) {
-                                       if (c == '"') {
-                                               Add (pieces, line, start, i);
-                                               start = i+1;
-                                               inQuotes = false;
-                                       }
-                               }
-                               else {
-                                       if (prevWs && c == '"') {
-                                               Add (pieces, line, start, i);
-                                               start = i+1;
-                                               inQuotes = true;
-                                       }
-                                       else if (char.IsWhiteSpace (c)) {
-                                               if (!prevWs) {
-                                                       Add (pieces, line, start, i);
-                                                       start = i;
-                                               }
-                                               prevWs = true;
-                                       }
-                                       else {
-                                               if (prevWs) {
-                                                       Add (pieces, line, start, i);
-                                                       start = i;
-                                               }
-                                               prevWs = false;
-                                       }
-                               }
-                       }
-                       if (start > 0 && start != line.Length)
-                               pieces.Add (line.Substring (start, line.Length-start));
-                       return pieces.ToArray ();
-               }
-
-               static void Add (List<string> pieces, string line, int start, int end)
-               {
-                       if (start == end)
-                               return;
-                       pieces.Add (line.Substring (start, end-start));
-               }
-
-               static void Expect (StateInfo s, params string[] expected)
-               {
-                       string e;
-                       while (s.tags.Count > 0 && 
-                              Array.IndexOf (expected, (e = s.tags.Peek ().ToString ())) >= 0) {
-                               s.output.Append (s.tags.Pop ().ToString ());
-                       }
-               }
-
-               static void ClearUntil (StateInfo s, string required)
-               {
-                       string e = null;
-                       while (s.tags.Count > 0 && 
-                              (e = s.tags.Peek ().ToString ()) != required) {
-                               s.output.Append (s.tags.Pop ().ToString ());
-                       }
-                       if (e == required)
-                               s.output.Append (s.tags.Pop ().ToString ());
-               }
-
-               static void ClearAll (StateInfo s)
-               {
-                       while (s.tags.Count > 0)
-                               s.output.Append (s.tags.Pop ().ToString ());
-               }
-
-               static void Translate (string[] lines, int startIndex, StringBuilder output)
-               {
-                       if (lines.Length <= startIndex)
-                               return;
-                       do {
-                               Translate (lines [startIndex++], output);
-                               if (startIndex == lines.Length)
-                                       break;
-                       } while (startIndex < lines.Length);
-               }
-
-               static void Translate (string line, StringBuilder output)
-               {
-                       string span = null;
-                       int start = output.Length;
-                       for (int i = 0; i < line.Length; ++i) {
-                               switch (line [i]) {
-                               case '\\': {
-                                       if ((i+2) < line.Length && line [i+1] == 'f') {
-                                               if (line [i+2] == 'I') {
-                                                       output.Append ("<i>");
-                                                       span = "</i>";
-                                               }
-                                               else if (line [i+2] == 'B') {
-                                                       output.Append ("<b>");
-                                                       span = "</b>";
-                                               }
-                                               else if (line [i+2] == 'R' || line [i+2] == 'P') {
-                                                       output.Append (span);
-                                               }
-                                               else
-                                                       goto default;
-                                               i += 2;
-                                       }
-                                       else if ((i+1) < line.Length) {
-                                               output.Append (line [i+1]);
-                                               ++i;
-                                       }
-                                       else
-                                               goto default;
-                                       break;
-                               }
-                               case '<':
-                                       output.Append ("&lt;");
-                                       break;
-                               case '>':
-                                       output.Append ("&gt;");
-                                       break;
-                               case '&':
-                                       output.Append ("&amp;");
-                                       break;
-                               default:
-                                       output.Append (line [i]);
-                                       break;
-                               }
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/MonoBook2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/MonoBook2Html.cs
deleted file mode 100644 (file)
index 847c375..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Collections.Generic;
-
-using Monodoc;
-using Monodoc.Generators;
-
-namespace Monodoc.Generators.Html
-{
-       // Input is expected to be already HTML so just return it
-       public class MonoBook2Html : IHtmlExporter
-       {
-               public string CssCode {
-                       get {
-                               return @"   h3 { 
-       font-size: 18px;
-       padding-bottom: 4pt;
-       border-bottom: 2px solid #dddddd;
-   }
-       
-   .api {
-     border: 1px solid;
-     padding: 10pt;
-     margin: 10pt;
-   } 
-
-   .api-entry { 
-       border-bottom: none;
-       font-size: 18px;
-   }
-
-   .prototype {
-     border: 1px solid;
-     background-color: #f2f2f2;
-     padding: 5pt;
-     margin-top: 5pt;
-     margin-bottom: 5pt;  
-   } 
-
-   .header {
-     border: 1px solid !important;
-     padding: 0 0 5pt 5pt !important;
-     margin: 10pt !important;
-     white-space: pre !important;
-       font-family: monospace !important;
-     font-weight: normal !important;
-     font-size: 1em !important;
-   }
-    
-   .code {
-     border: 1px solid;
-     padding: 0 0 5pt 5pt;
-     margin: 10pt;
-     white-space: pre;
-       font-family: monospace;
-   }
-";
-                       }
-               }
-
-               public string Export (Stream input, Dictionary<string, string> extraArgs)
-               {
-                       if (input == null)
-                               return null;
-                       return FromXmlReader (XmlReader.Create (input));
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       if (string.IsNullOrEmpty (input))
-                               return null;
-                       return FromXmlReader (XmlReader.Create (new StringReader (input)));
-               }
-
-               public string FromXmlReader (XmlReader reader)
-               {
-                       if (!reader.ReadToDescendant ("head"))
-                               return null;
-                       if (!reader.ReadToNextSibling ("body"))
-                               return null;
-
-                       return reader.ReadInnerXml ();
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/generators/html/Toc2Html.cs b/mcs/class/monodoc/Monodoc/generators/html/Toc2Html.cs
deleted file mode 100644 (file)
index cb34b98..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-using System;
-using System.IO;
-using System.Xml;
-using System.Xml.Xsl;
-using System.Xml.XPath;
-using System.Reflection;
-using System.Collections.Generic;
-
-namespace Monodoc.Generators.Html
-{
-       public class Toc2Html : IHtmlExporter
-       {
-               XslTransform transform;
-
-               public Toc2Html ()
-               {
-                       transform = new XslTransform ();
-                       var assembly = Assembly.GetAssembly (typeof (Toc2Html));
-                       var stream = assembly.GetManifestResourceStream ("toc-html.xsl");
-                       XmlReader xml_reader = new XmlTextReader (stream);
-                       transform.Load (xml_reader, null, null);
-               }
-
-               public string Export (Stream input, Dictionary<string, string> extraArgs)
-               {
-                       var output = new StringWriter ();
-                       transform.Transform (new XPathDocument (input), null, output, null);
-                       return output.ToString ();
-               }
-
-               public string Export (string input, Dictionary<string, string> extraArgs)
-               {
-                       var output = new StringWriter ();
-                       transform.Transform (new XPathDocument (new StringReader (input)), null, output, null);
-                       return output.ToString ();
-               }
-
-               public string CssCode {
-                       get {
-                               return string.Empty;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/index.cs b/mcs/class/monodoc/Monodoc/index.cs
deleted file mode 100644 (file)
index b9aefff..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-//
-// index.cs: Handling of the index files
-//
-// Author:
-//   Miguel de Icaza (miguel@xamarin.com)
-//
-// (C) 2003 Ximian, Inc.
-// Copyright 2003-2011 Novell Inc
-// Copyright 2011 Xamarin Inc.
-//
-// Possible file format optimizations:
-//   * Do not use 4 bytes for each index entry, use 3 bytes
-//   * Find a way of compressing strings, there are plenty of duplicates
-//     Find common roots, and use an encoding that uses a root to compress data.
-//     "System", "System.Data", "System.Data class"
-//     0: PLAIN: "System"
-//     1: PLAIN: " class"
-//     2: LINK0 PLAIN ".DATA"
-//     3: LINK0 LINK1
-//     
-//     Maybe split everything at spaces and dots, and encode that:
-//     string-1-idx "System."
-//     string-1-idx "Data"
-//     2-items [ string-1-idx string-2-idx]
-//
-//     Other variations are possible;  Like Archive "System", "System." when we
-//     see "System.Data".
-//
-//
-
-using System;
-using System.IO;
-using System.Text;
-using System.Collections.Generic;
-
-namespace Monodoc
-{
-       public class Topic
-       {
-               public readonly string Caption;
-               public readonly string SortKey;
-               public readonly string Url;
-
-               public Topic (string caption, string sort_key, string url)
-               {
-                       Caption = caption;
-                       SortKey = sort_key;
-                       Url = url;
-               }
-       }
-
-       public class IndexEntry
-       {
-               List<Topic> topics;
-
-               public int Position {
-                       get;
-                       private set;
-               }
-
-               public IList<Topic> Topics {
-                       get {
-                               return topics.AsReadOnly ();
-                       }
-               }
-
-               public int Count {
-                       get;
-                       private set;
-               }
-               
-               public void Add (Topic t)
-               {
-                       Count++;
-                       topics.Add (t);
-               }
-
-               public Topic this [int idx] {
-                       get {
-                               if (idx < 0 || idx > topics.Count)
-                                       throw new ArgumentOutOfRangeException ("idx");
-                               return topics[idx];
-                       }
-               }
-
-               //
-               // Constructor from a stream
-               //
-               public IndexEntry (FileStream fs, BinaryReader reader, int position)
-               {
-                       Count = reader.ReadInt32 ();
-                       int caption_offset = reader.ReadInt32 ();
-                       string caption;
-                       topics = new List<Topic> (Count);
-
-                       int [] offsets = new int [Count];
-                       for (int i = 0; i < Count; i++)
-                               offsets [i] = reader.ReadInt32 ();
-
-                       fs.Position = caption_offset;
-                       caption = reader.ReadString ();
-                       for (int i = 0; i < Count; i++){
-                               fs.Position = offsets [i];
-                               string url = reader.ReadString ();
-                               topics.Add (new Topic (caption, string.Empty, url));
-                       }
-               }
-
-               //
-               // Regular constructor
-       
-               public IndexEntry ()
-               {
-                       topics = new List<Topic> ();
-               }
-
-               public void WriteTopics (IndexMaker maker, Stream stream, BinaryWriter writer)
-               {
-                       //
-                       // Convention: entries with the same SortKey should have the same Caption
-                       //
-                       Position = (int) stream.Position;
-                       writer.Write (Count);
-
-                       if (Count == 0)
-                               return;
-
-                       writer.Write (maker.GetCode (topics[0].Caption));
-                       foreach (Topic t in topics)
-                               writer.Write (maker.GetCode (t.Url));
-               }
-       }
-
-       public class IndexMaker
-       {
-               Dictionary<string, IndexEntry> entries = new Dictionary<string, IndexEntry> ();
-               Dictionary<string, int> all_strings = new Dictionary<string, int> ();
-               int index_position;
-
-               void AddString (string str)
-               {
-                       if (!all_strings.ContainsKey (str))
-                               all_strings.Add (str, 0);
-               }
-
-               public void AddTopic (Topic topic)
-               {
-                       IndexEntry entry;
-                       if (!entries.TryGetValue (topic.SortKey, out entry)) {
-                               entry = new IndexEntry ();
-                               entries[topic.SortKey] = entry;
-                       }
-
-                       AddString (topic.SortKey);
-                       AddString (topic.Caption);
-                       AddString (topic.Url);
-                       entry.Add (topic);
-               }
-
-               public void Add (string caption, string sort_key, string url)
-               {
-                       Topic t = new Topic (caption, sort_key, url);
-                       AddTopic (t);
-               }
-       
-               void SaveStringTable (Stream stream, BinaryWriter writer)
-               {
-                       var keys = new List<string> (all_strings.Keys);
-                       foreach (string s in keys) {
-                               int pos = (int) stream.Position;
-                               writer.Write (s);
-                               all_strings [s] = pos;
-                       }
-               }
-
-               public int GetCode (string s)
-               {
-                       return all_strings [s];
-               }
-
-               void SaveTopics (Stream stream, BinaryWriter writer)
-               {
-                       //
-                       // Convention: entries with the same SortKey should have the same Caption
-                       //
-                       foreach (IndexEntry e in entries.Values)
-                               e.WriteTopics (this, stream, writer);
-               }
-
-               void SaveIndexEntries (Stream stream, BinaryWriter writer)
-               {
-                       index_position = (int) stream.Position;
-                       writer.Write (entries.Count);
-                       var keys = new List<string> (entries.Keys);
-                       keys.Sort (StringComparer.OrdinalIgnoreCase);
-               
-                       foreach (string s in keys){
-                               IndexEntry e = entries [s];
-                               writer.Write (e.Position);
-                       }
-               }
-
-               public void Save (string filename)
-               {
-                       Encoding utf8 = new UTF8Encoding (false, true);
-
-                       using (FileStream fs = File.OpenWrite (filename)){
-                               BinaryWriter writer = new BinaryWriter (fs, utf8);
-                               writer.Write (new byte [] { (byte) 'M', 
-                                                           (byte) 'o', (byte) 'i', 
-                                                           (byte) 'x'});
-
-                               // Leave room for pointer
-                               fs.Position = 8;
-
-                               SaveStringTable (fs, writer);
-                               SaveTopics (fs, writer);
-
-                               // index_position is set here
-                       
-                               SaveIndexEntries (fs, writer);
-
-                               fs.Position = 4;
-                               writer.Write (index_position);
-                       }
-               }
-       }
-
-       public interface IListModel
-       {
-               int Rows { get; }
-               string GetValue (int row);
-               string GetDescription (int row);
-       }
-
-       public class IndexReader : IListModel
-       {
-               Encoding utf8 = new UTF8Encoding (false, true);
-               FileStream fs;
-               BinaryReader reader;
-
-               // The offset of the table of entries
-               int table_offset;
-               int entries;
-
-               static public IndexReader Load (string filename)
-               {
-                       if (!File.Exists (filename))
-                               return null;
-
-                       try {
-                               return new IndexReader (filename);
-                       } catch {
-                               return null;
-                       }
-               }
-       
-               IndexReader (string filename)
-               {
-                       fs = File.OpenRead (filename);
-                       reader = new BinaryReader (fs, utf8);
-
-                       if (fs.ReadByte () != 'M' ||
-                           fs.ReadByte () != 'o' ||
-                           fs.ReadByte () != 'i' ||
-                           fs.ReadByte () != 'x'){
-                               throw new Exception ("Corrupt index");
-                       }
-
-                       // Seek to index_entries
-                       fs.Position = reader.ReadInt32 ();
-               
-                       entries = reader.ReadInt32 ();
-
-                       table_offset = (int) fs.Position;
-               }
-
-               public int Rows {
-                       get {
-                               return entries;
-                       }
-               }
-
-               public string GetValue (int row)
-               {
-                       fs.Position = row * 4 + table_offset;
-                       fs.Position = reader.ReadInt32 () + 4;
-                       int code = reader.ReadInt32 ();
-                       fs.Position = code;
-                       string caption = reader.ReadString ();
-
-                       return caption;
-               }
-
-               public string GetDescription (int row)
-               {
-                       return GetValue (row);
-               }
-       
-               public IndexEntry GetIndexEntry (int row)
-               {
-                       fs.Position = row * 4 + table_offset;
-                       int entry_offset = reader.ReadInt32 ();
-                       fs.Position = entry_offset;
-               
-                       return new IndexEntry (fs, reader, entry_offset);
-               }
-       }
-}
-
diff --git a/mcs/class/monodoc/Monodoc/providers/EcmaDoc.cs b/mcs/class/monodoc/Monodoc/providers/EcmaDoc.cs
deleted file mode 100644 (file)
index bf14a24..0000000
+++ /dev/null
@@ -1,595 +0,0 @@
-using System;
-using System.Linq;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Xml.Linq;
-using System.Collections.Generic;
-
-using Monodoc.Ecma;
-
-namespace Monodoc.Providers
-{
-       public enum EcmaNodeType {
-               Invalid,
-               Namespace,
-               Type,
-               Member,
-               Meta, // A node that's here to serve as a header for other node
-       }
-
-
-
-       // Common functionality between ecma-provider and ecmauncompiled-provider
-       internal class EcmaDoc
-       {
-               static EcmaUrlParser parser = new EcmaUrlParser ();
-
-               public static void PopulateTreeFromIndexFile (string indexFilePath,
-                                                             string idPrefix,
-                                                             Tree tree,
-                                                             IDocStorage storage,
-                                                             Dictionary<string, XElement> nsSummaries,
-                                                             Func<XElement, string> indexGenerator = null,
-                                                             IEcmaProviderFileSource fileSource = null)
-               {
-                       fileSource = fileSource ?? DefaultEcmaProviderFileSource.Default;
-                       var root = tree.RootNode;
-                       int resID = 0;
-                       var asm = Path.GetDirectoryName (indexFilePath);
-
-                       storage = storage ?? new Storage.NullStorage ();
-                       // nsSummaries is allowed to be null if the user doesn't care about it
-                       nsSummaries = nsSummaries ?? new Dictionary<string, XElement> ();
-                       // default index generator uses a counter
-                       indexGenerator = indexGenerator ?? (_ => resID++.ToString ());
-
-                       using (var reader = fileSource.GetIndexReader (indexFilePath)) {
-                               reader.ReadToFollowing ("Types");
-                               var types = XElement.Load (reader.ReadSubtree ());
-
-                               foreach (var ns in types.Elements ("Namespace")) {
-                                       var nsName = (string)ns.Attribute ("Name");
-                                       nsName = !string.IsNullOrEmpty (nsName) ? nsName : "global";
-                                       var nsNode = root.GetOrCreateNode (nsName, "N:" + nsName);
-
-                                       XElement nsElements;
-                                       if (!nsSummaries.TryGetValue (nsName, out nsElements))
-                                               nsSummaries[nsName] = nsElements = new XElement ("elements",
-                                                                                                new XElement ("summary"),
-                                                                                                new XElement ("remarks"));
-                               //Add namespace summary and remarks data from file, if available
-                                       var nsFileName = fileSource.GetNamespaceXmlPath(asm, nsName);
-                                       
-                                       if(File.Exists(nsFileName)){
-                                               var nsEl = fileSource.GetNamespaceElement (nsFileName);
-
-                                               nsElements.Element ("summary").ReplaceWith (nsEl.Descendants ("summary").First ());
-                                               nsElements.Element ("remarks").ReplaceWith (nsEl.Descendants ("remarks").First ());
-                                       }else{
-                                               Console.WriteLine ("Error reading namespace XML for {0} at {1}", nsName, nsFileName);
-                                       }
-                              
-                                       foreach (var type in ns.Elements ("Type")) {
-                                               // Add the XML file corresponding to the type to our storage
-                                               var id = indexGenerator (type);
-                                               string typeFilePath;
-                                               var typeDocument = EcmaDoc.LoadTypeDocument (asm, nsName, type.Attribute ("Name").Value, out typeFilePath, fileSource);
-                                               if (typeDocument == null)
-                                                       continue;
-
-                                               // write the document (which may have been modified by the fileSource) to the storage
-                                               MemoryStream io = new MemoryStream ();
-                                               using (var writer = XmlWriter.Create (io)) {
-                                                       typeDocument.WriteTo (writer);
-                                               }
-                                               io.Seek (0, SeekOrigin.Begin);
-                                               storage.Store (id, io);
-
-                                               nsElements.Add (ExtractClassSummary (typeDocument));
-
-                                               var typeCaption = EcmaDoc.GetTypeCaptionFromIndex (type);
-                                               var url = idPrefix + id + '#' + typeCaption + '/';
-                                               typeCaption = EcmaDoc.GetTypeCaptionFromIndex (type, true);
-                                               var typeNode = nsNode.CreateNode (typeCaption, url);
-
-                                               // Add meta "Members" node
-                                               typeNode.CreateNode ("Members", "*");
-                                               var membersNode = typeDocument.Root.Element ("Members");
-                                               if (membersNode == null || !membersNode.Elements ().Any ())
-                                                       continue;
-                                               var members = membersNode
-                                                       .Elements ("Member")
-                                                       .ToLookup (EcmaDoc.GetMemberType);
-
-                                               foreach (var memberType in members) {
-                                                       // We pluralize the member type to get the caption and take the first letter as URL
-                                                       var node = typeNode.CreateNode (EcmaDoc.PluralizeMemberType (memberType.Key), memberType.Key[0].ToString ());
-                                                       var memberIndex = 0;
-
-                                                       var isCtors = memberType.Key[0] == 'C';
-
-                                                       // We do not escape much member name here
-                                                       foreach (var memberGroup in memberType.GroupBy (m => MakeMemberCaption (m, isCtors))) {
-                                                               if (memberGroup.Count () > 1) {
-                                                                       // Generate overload
-                                                                       var overloadCaption = MakeMemberCaption (memberGroup.First (), false);
-                                                                       var overloadNode = node.CreateNode (overloadCaption, overloadCaption);
-                                                                       foreach (var member in memberGroup)
-                                                                               overloadNode.CreateNode (MakeMemberCaption (member, true), (memberIndex++).ToString ());
-                                                                       overloadNode.Sort ();
-                                                               } else {
-                                                                       // We treat constructor differently by showing their argument list in all cases
-                                                                       node.CreateNode (MakeMemberCaption (memberGroup.First (), isCtors), (memberIndex++).ToString ());
-                                                               }
-                                                       }
-                                                       node.Sort ();
-                                               }
-                                       }
-
-                                       nsNode.Sort ();
-                               }
-                               root.Sort ();
-                       }
-               }
-
-               // Utility methods
-
-               public static XDocument LoadTypeDocument (string basePath, string nsName, string typeName, IEcmaProviderFileSource fileSource = null)
-               {
-                       string dummy;
-                       return LoadTypeDocument (basePath, nsName, typeName, out dummy, fileSource ?? DefaultEcmaProviderFileSource.Default);
-               }
-
-               public static XDocument LoadTypeDocument (string basePath, string nsName, string typeName, out string finalPath, IEcmaProviderFileSource fileSource = null)
-               {
-                       fileSource = fileSource ?? DefaultEcmaProviderFileSource.Default;
-
-                       finalPath = fileSource.GetTypeXmlPath (basePath, nsName, typeName);
-                       if (!File.Exists (finalPath)) {
-                               Console.Error.WriteLine ("Warning: couldn't process type file `{0}' as it doesn't exist", finalPath);
-                               return null;
-                       }
-
-                       XDocument doc = null;
-                       try {
-                               doc = fileSource.GetTypeDocument(finalPath);
-                       } catch (Exception e) {
-                               Console.WriteLine ("Document `{0}' is unparsable, {1}", finalPath, e.ToString ());
-                       }
-
-                       return doc;
-               }
-
-               public static string GetTypeCaptionFromIndex (XElement typeNodeFromIndex, bool full = false)
-               {
-                       var t = typeNodeFromIndex;
-                       var c = ((string)(t.Attribute ("DisplayName") ?? t.Attribute ("Name"))).Replace ('+', '.');
-                       if (full)
-                               c += " " + (string)t.Attribute ("Kind");
-                       return c;
-               }
-
-               public static string PluralizeMemberType (string memberType)
-               {
-                       switch (memberType) {
-                       case "Property":
-                               return "Properties";
-                       default:
-                               return memberType + "s";
-                       }
-               }
-
-               public static string GetMemberType (XElement m)
-               {
-                       return m.Attribute ("MemberName").Value.StartsWith ("op_") ? "Operator" : m.Element ("MemberType").Value;
-               }
-
-               public static string MakeMemberCaption (XElement member, bool withArguments)
-               {
-                       var caption = (string)member.Attribute ("MemberName");
-                       // Use type name instead of .ctor for cosmetic sake
-                       if (caption == ".ctor") {
-                               caption = (string)member.Ancestors ("Type").First ().Attribute ("Name");
-                               // If this is an inner type ctor, strip the parent type reference
-                               var plusIndex = caption.LastIndexOf ('+');
-                               if (plusIndex != -1)
-                                       caption = caption.Substring (plusIndex + 1);
-                       }
-                       if (caption.StartsWith ("op_")) {
-                               string sig;
-                               caption = MakeOperatorSignature (member, out sig);
-                               caption = withArguments ? sig : caption;
-                               return caption;
-                       }
-                       if (withArguments) {
-                               var args = member.Element ("Parameters");
-                               caption += '(';
-                               if (args != null && args.Elements ("Parameter").Any ()) {
-                                       caption += args.Elements ("Parameter")
-                                               .Select (p => (string)p.Attribute ("Type"))
-                                               .Aggregate ((p1, p2) => p1 + "," + p2);
-                               }
-                               caption += ')';
-                       }
-                       
-                       return caption;
-               }
-
-               public static Node MatchNodeWithEcmaUrl (string url, Tree tree)
-               {
-                       Node result = null;
-                       EcmaDesc desc;
-                       if (!parser.TryParse (url, out desc))
-                               return null;
-
-                       // Namespace search
-                       Node currentNode = tree.RootNode;
-                       Node searchNode = new Node () { Caption = desc.Namespace };
-                       int index = currentNode.ChildNodes.BinarySearch (searchNode, EcmaGenericNodeComparer.Instance);
-                       if (index >= 0)
-                               result = currentNode.ChildNodes[index];
-                       if (desc.DescKind == EcmaDesc.Kind.Namespace || index < 0)
-                               return result;
-
-                       // Type search
-                       currentNode = result;
-                       result = null;
-                       searchNode.Caption = desc.ToCompleteTypeName ();
-                       if (!desc.GenericTypeArgumentsIsNumeric)
-                               index = currentNode.ChildNodes.BinarySearch (searchNode, EcmaTypeNodeComparer.Instance);
-                       else
-                               index = GenericTypeBacktickSearch (currentNode.ChildNodes, desc);
-                       if (index >= 0)
-                               result = currentNode.ChildNodes[index];
-                       if ((desc.DescKind == EcmaDesc.Kind.Type && !desc.IsEtc) || index < 0)
-                               return result;
-
-                       // Member selection
-                       currentNode = result;
-                       result = null;
-                       var caption = desc.IsEtc ? EtcKindToCaption (desc.Etc) : MemberKindToCaption (desc.DescKind);
-                       currentNode = FindNodeForCaption (currentNode.ChildNodes, caption);
-                       if (currentNode == null
-                           || (desc.IsEtc && desc.DescKind == EcmaDesc.Kind.Type && string.IsNullOrEmpty (desc.EtcFilter)))
-                               return currentNode;
-
-                       // Member search
-                       result = null;
-                       var format = desc.DescKind == EcmaDesc.Kind.Constructor ? EcmaDesc.Format.WithArgs : EcmaDesc.Format.WithoutArgs;
-                       searchNode.Caption = desc.ToCompleteMemberName (format);
-                       index = currentNode.ChildNodes.BinarySearch (searchNode, EcmaGenericNodeComparer.Instance);
-                       if (index < 0)
-                               return null;
-                       result = currentNode.ChildNodes[index];
-                       if (result.ChildNodes.Count == 0 || desc.IsEtc)
-                               return result;
-
-                       // Overloads search
-                       currentNode = result;
-                       searchNode.Caption = desc.ToCompleteMemberName (EcmaDesc.Format.WithArgs);
-                       index = currentNode.ChildNodes.BinarySearch (searchNode, EcmaGenericNodeComparer.Instance);
-                       if (index < 0)
-                               return result;
-                       result = result.ChildNodes[index];
-
-                       return result;
-               }
-
-               static int GenericTypeBacktickSearch (IList<Node> childNodes, EcmaDesc desc)
-               {
-                       /* Our strategy is to search for the non-generic variant of the type
-                        * (which in most case should fail) and then use the closest index
-                        * to linearily search for the generic variant with the right generic arg number
-                        */
-                       var searchNode = new Node () { Caption = desc.TypeName };
-                       int index = childNodes.BinarySearch (searchNode, EcmaTypeNodeComparer.Instance);
-                       // Place the index in the right start position
-                       if (index < 0)
-                               index = ~index;
-
-                       for (int i = index; i < childNodes.Count; i++) {
-                               var currentNode = childNodes[i];
-                               // Find the index of the generic argument list
-                               int genericIndex = currentNode.Caption.IndexOf ('<');
-                               // If we are not on the same base type name anymore, there is no point
-                               int captionSlice = genericIndex != -1 ? genericIndex : currentNode.Caption.LastIndexOf (' ');
-                               if (string.Compare (searchNode.Caption, 0,
-                                                   currentNode.Caption, 0,
-                                                   Math.Max (captionSlice, searchNode.Caption.Length),
-                                                   StringComparison.Ordinal) != 0)
-                                       break;
-
-                               var numGenerics = CountTypeGenericArguments (currentNode.Caption, genericIndex);
-                               if (numGenerics == desc.GenericTypeArguments.Count) {
-                                       // Simple comparison if we are not looking for an inner type
-                                       if (desc.NestedType == null)
-                                               return i;
-                                       // If more complicated, we fallback to using EcmaUrlParser
-                                       var caption = currentNode.Caption;
-                                       caption = "T:" + caption.Substring (0, caption.LastIndexOf (' ')).Replace ('.', '+');
-                                       EcmaDesc otherDesc;
-                                       var parser = new EcmaUrlParser ();
-                                       if (parser.TryParse (caption, out otherDesc) && desc.NestedType.Equals (otherDesc.NestedType))
-                                               return i;
-                               }
-                       }
-
-                       return -1;
-               }
-
-               // This comparer returns the answer straight from caption comparison
-               class EcmaGenericNodeComparer : IComparer<Node>
-               {
-                       public static readonly EcmaGenericNodeComparer Instance = new EcmaGenericNodeComparer ();
-
-                       public int Compare (Node n1, Node n2)
-                       {
-                               return string.Compare (n1.Caption, n2.Caption, StringComparison.Ordinal);
-                       }
-               }
-
-               // This comparer take into account the space in the caption
-               class EcmaTypeNodeComparer : IComparer<Node>
-               {
-                       public static readonly EcmaTypeNodeComparer Instance = new EcmaTypeNodeComparer ();
-
-                       public int Compare (Node n1, Node n2)
-                       {
-                               int length1 = CaptionLength (n1.Caption);
-                               int length2 = CaptionLength (n2.Caption);
-
-                               return string.Compare (n1.Caption, 0, n2.Caption, 0, Math.Max (length1, length2), StringComparison.Ordinal);
-                       }
-
-                       int CaptionLength (string caption)
-                       {
-                               var length = caption.LastIndexOf (' ');
-                               return length == -1 ? caption.Length : length;
-                       }
-               }
-
-               public static Dictionary<string, string> GetContextForEcmaNode (string hash, string sourceID, Node node)
-               {
-                       var args = new Dictionary<string, string> ();
-
-                       args["source-id"] = sourceID;
-
-                       if (node != null) {
-                               var nodeType = GetNodeType (node);
-                               switch (nodeType) {
-                               case EcmaNodeType.Namespace:
-                                       args["show"] = "namespace";
-                                       args["namespace"] = node.Element.Substring ("N:".Length);
-                                       break;
-                               case EcmaNodeType.Type:
-                                       args["show"] = "typeoverview";
-                                       break;
-                               case EcmaNodeType.Member:
-                               case EcmaNodeType.Meta:
-                                       switch (GetNodeMemberTypeChar (node)){
-                                       case 'C':
-                                               args["membertype"] = "Constructor";
-                                               break;
-                                       case 'M':
-                                               args["membertype"] = "Method";
-                                               break;
-                                       case 'P':
-                                               args["membertype"] = "Property";
-                                               break;
-                                       case 'F':
-                                               args["membertype"] = "Field";
-                                               break;
-                                       case 'E':
-                                               args["membertype"] = "Event";
-                                               break;
-                                       case 'O':
-                                               args["membertype"] = "Operator";
-                                               break;
-                                       case 'X':
-                                               args["membertype"] = "ExtensionMethod";
-                                               break;
-                                       case '*':
-                                               args["membertype"] = "All";
-                                               break;
-                                       }
-
-                                       if (nodeType == EcmaNodeType.Meta) {
-                                               args["show"] = "members";
-                                               args["index"] = "all";
-                                       } else {
-                                               args["show"] = "member";
-                                               args["index"] = node.Element;
-                                       }
-                                       break;
-                               }
-                       }
-
-                       if (!string.IsNullOrEmpty (hash))
-                               args["hash"] = hash;
-
-                       return args;
-               }
-
-               public static EcmaNodeType GetNodeType (Node node)
-               {
-                       // We guess the node type by checking the depth level it's at in the tree
-                       int level = GetNodeLevel (node);
-                       switch (level) {
-                       case 0:
-                               return EcmaNodeType.Namespace;
-                       case 1:
-                               return EcmaNodeType.Type;
-                       case 2:
-                               return EcmaNodeType.Meta;
-                       case 3: // Here it's either a member or, in case of overload, a meta
-                               return node.IsLeaf ? EcmaNodeType.Member : EcmaNodeType.Meta;
-                       case 4: // At this level, everything is necessarily a member
-                               return EcmaNodeType.Member;
-                       default:
-                               return EcmaNodeType.Invalid;
-                       }
-               }
-
-               public static char GetNodeMemberTypeChar (Node node)
-               {
-                       int level = GetNodeLevel (node);
-                       // We try to reach the member group node depending on node nested level
-                       switch (level) {
-                       case 2:
-                               return node.Element[0];
-                       case 3:
-                               return node.Parent.Element[0];
-                       case 4:
-                               return node.Parent.Parent.Element[0];
-                       default:
-                               throw new ArgumentException ("node", "Couldn't determine member type of node `" + node.Caption + "'");
-                       }
-               }
-
-               public static int GetNodeLevel (Node node)
-               {
-                       int i = 0;
-                       for (; !node.Element.StartsWith ("root:/", StringComparison.OrdinalIgnoreCase); i++) {
-                               node = node.Parent;
-                               if (node == null)
-                                       return i - 1;
-                       }
-                       return i - 1;
-               }
-
-               public static string EtcKindToCaption (char etc)
-               {
-                       switch (etc) {
-                       case 'M':
-                               return "Methods";
-                       case 'P':
-                               return "Properties";
-                       case 'C':
-                               return "Constructors";
-                       case 'F':
-                               return "Fields";
-                       case 'E':
-                               return "Events";
-                       case 'O':
-                               return "Operators";
-                       case '*':
-                               return "Members";
-                       default:
-                               return null;
-                       }
-               }
-
-               public static string MemberKindToCaption (EcmaDesc.Kind kind)
-               {
-                       switch (kind) {
-                       case EcmaDesc.Kind.Method:
-                               return "Methods";
-                       case EcmaDesc.Kind.Property:
-                               return "Properties";
-                       case EcmaDesc.Kind.Constructor:
-                               return "Constructors";
-                       case EcmaDesc.Kind.Field:
-                               return "Fields";
-                       case EcmaDesc.Kind.Event:
-                               return "Events";
-                       case EcmaDesc.Kind.Operator:
-                               return "Operators";
-                       default:
-                               return null;
-                       }
-               }
-
-               public static Node FindNodeForCaption (IList<Node> nodes, string caption)
-               {
-                       foreach (var node in nodes)
-                               if (node.Caption.Equals (caption, StringComparison.OrdinalIgnoreCase))
-                                       return node;
-                       return null;
-               }
-
-               public static int CountTypeGenericArguments (string typeDefinition, int startIndex = 0)
-               {
-                       int nestedLevel = 0;
-                       int count = 0;
-                       bool started = false;
-
-                       foreach (char c in typeDefinition.Skip (startIndex)) {
-                               switch (c) {
-                               case '<':
-                                       if (!started)
-                                               count = 1;
-                                       started = true;
-                                       nestedLevel++;
-                                       break;
-                               case ',':
-                                       if (started && nestedLevel == 1)
-                                               count++;
-                                       break;
-                               case '>':
-                                       nestedLevel--;
-                                       break;
-                               }
-                       }
-
-                       return count;
-               }
-
-               internal static string MakeOperatorSignature (XElement member, out string memberSignature)
-               {
-                       string name = (string)member.Attribute ("MemberName");
-                       var nicename = name.Substring(3);
-                       memberSignature = null;
-
-                       switch (name) {
-                       // unary operators: no overloading possible     [ECMA-335 Â§10.3.1]
-                       case "op_UnaryPlus":                    // static     R operator+       (T)
-                       case "op_UnaryNegation":                // static     R operator-       (T)
-                       case "op_LogicalNot":                   // static     R operator!       (T)
-                       case "op_OnesComplement":               // static     R operator~       (T)
-                       case "op_Increment":                    // static     R operator++      (T)
-                       case "op_Decrement":                    // static     R operator--      (T)
-                       case "op_True":                         // static  bool operator true   (T)
-                       case "op_False":                        // static  bool operator false  (T)
-                       case "op_AddressOf":                    // static     R operator&       (T)
-                       case "op_PointerDereference":           // static     R operator*       (T)
-                               memberSignature = nicename;
-                               break;
-                       // conversion operators: overloading based on parameter and return type [ECMA-335 Â§10.3.3]
-                       case "op_Implicit":                    // static implicit operator R (T)
-                       case "op_Explicit":                    // static explicit operator R (T)
-                               nicename = name.EndsWith ("Implicit") ? "ImplicitConversion" : "ExplicitConversion";
-                               string arg = (string)member.Element ("Parameters").Element ("Parameter").Attribute ("Type");
-                               string ret = (string)member.Element ("ReturnValue").Element ("ReturnType");
-                               memberSignature = arg + " to " + ret;
-                               break;
-                       // binary operators: overloading is possible [ECMA-335 Â§10.3.2]
-                       default:
-                               if (member.Element ("Parameters") != null)
-                                       memberSignature =
-                                               nicename + "("
-                                               + string.Join (",", member.Element ("Parameters").Elements ("Parameter").Select (p => (string)p.Attribute ("Type")))
-                                               + ")";
-                               break;
-                       }
-
-                       return nicename;
-               }
-
-               static XElement ExtractClassSummary (XDocument typeDoc)
-               {
-                       string name = typeDoc.Root.Attribute("Name").Value;
-                       string fullName = typeDoc.Root.Attribute("FullName").Value;
-                       string assemblyName = typeDoc.Root.Element("AssemblyInfo") != null ? typeDoc.Root.Element("AssemblyInfo").Element("AssemblyName").Value : string.Empty;
-                       var docs = typeDoc.Root.Element("Docs");
-                       var summary = docs.Element("summary") ?? new XElement("summary");
-                       var remarks = docs.Element("remarks") ?? new XElement("remarks");
-                       return new XElement ("class",
-                                new XAttribute ("name", name ?? string.Empty),
-                                new XAttribute ("fullname", fullName ?? string.Empty),
-                                new XAttribute ("assembly", assemblyName ?? string.Empty),
-                                summary,
-                                remarks);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/addins-provider.cs b/mcs/class/monodoc/Monodoc/providers/addins-provider.cs
deleted file mode 100644 (file)
index a824e63..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-// addins-provider.cs
-//
-// A provider to display Mono.Addins extension models
-//
-// Author:
-//   Lluis Sanchez Gual <lluis@novell.com>
-//
-// Copyright (c) 2007 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-//
-
-using System;
-using System.Linq;
-using System.Diagnostics;
-using System.Text;
-using System.IO;
-using System.Xml;
-using System.Collections.Generic;
-
-namespace Monodoc.Providers
-{
-       public class AddinsProvider : Provider
-       {
-               string file;
-               
-               public AddinsProvider (string xmlModelFile)
-               {
-                       file = xmlModelFile;
-                       
-                       if (!File.Exists (file))
-                               throw new FileNotFoundException (String.Format ("The file `{0}' does not exist", file));
-               }
-
-               public override void PopulateTree (Tree tree)
-               {
-                       string fileId = Path.GetFileNameWithoutExtension (file);
-                       using (var f = File.OpenRead (file))
-                               tree.HelpSource.Storage.Store (fileId, f);
-
-                       XmlDocument doc = new XmlDocument ();
-                       doc.Load (file);
-                       
-                       foreach (XmlElement addin in doc.SelectNodes ("Addins/Addin")) {
-
-                               string addinId = addin.GetAttribute ("fullId");
-                               Node newNode = tree.RootNode.CreateNode (addin.GetAttribute ("name"), "addin:" + fileId + "#" + addinId);
-
-                               foreach (XmlElement node in addin.SelectNodes ("ExtensionPoint")) {
-                                       string target = "extension-point:" + fileId + "#" + addinId + "#" + node.GetAttribute ("path");
-                                       Node newExt = newNode.CreateNode (node.GetAttribute ("name"), target);
-                       
-                                       foreach (XmlElement en in node.SelectNodes ("ExtensionNode")) {
-                                               string nid = en.GetAttribute ("id");
-                                               string nname = en.GetAttribute ("name");
-                                               newExt.CreateNode (nname, "extension-node:" + fileId + "#" + addinId + "#" + nid);
-                                       }
-                               }
-                       }
-               }
-
-               public override void CloseTree (HelpSource hs, Tree tree)
-               {
-               }
-       }
-
-       public class AddinsHelpSource : HelpSource
-       {
-               public AddinsHelpSource (string base_file, bool create) : base (base_file, create) 
-               {
-               }
-               
-               internal protected const string AddinPrefix = "addin:";
-               internal protected const string ExtensionPrefix = "extension-point:";
-               internal protected const string ExtensionNodePrefix = "extension-node:";
-
-               public override bool CanHandleUrl (string url)
-               {
-                       return url.StartsWith (AddinPrefix, StringComparison.OrdinalIgnoreCase)
-                               || url.StartsWith (ExtensionPrefix, StringComparison.OrdinalIgnoreCase)
-                               || url.StartsWith (ExtensionNodePrefix, StringComparison.OrdinalIgnoreCase);
-               }
-
-               protected override string UriPrefix {
-                       get {
-                               return AddinPrefix;
-                       }
-               }
-               
-               public override DocumentType GetDocumentTypeForId (string id)
-               {
-                       return DocumentType.AddinXml;
-               }
-
-               public override string GetInternalIdForUrl (string url, out Node node, out Dictionary<string, string> context)
-               {
-                       var id = base.GetInternalIdForUrl (url, out node, out context);
-                       var idParts = id.Split ('#');
-                       context = new Dictionary<string, string> ();
-                       context["FileID"] = idParts[0];
-                       context["AddinID"] = idParts[1];
-                       context["NodeID"] = idParts[2];
-
-                       return idParts[0];
-               }
-
-               public override Node MatchNode (string url)
-               {
-                       var prefix = new[] { AddinPrefix, ExtensionPrefix, ExtensionNodePrefix }.First (p => url.StartsWith (p, StringComparison.OrdinalIgnoreCase));
-                       return base.MatchNode (prefix != null ? url.Substring (prefix.Length) : url);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/ecma-provider.cs b/mcs/class/monodoc/Monodoc/providers/ecma-provider.cs
deleted file mode 100644 (file)
index 4e82c2c..0000000
+++ /dev/null
@@ -1,858 +0,0 @@
-//
-// The ecmaspec provider is for ECMA specifications
-//
-// Authors:
-//     John Luke (jluke@cfl.rr.com)
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// Use like this:
-//   mono assembler.exe --ecmaspec DIRECTORY --out name
-//
-
-using System;
-using System.Linq;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Xml.Linq;
-using System.Collections.Generic;
-
-using Lucene.Net.Index;
-using Lucene.Net.Documents;
-
-using Monodoc.Ecma;
-using Mono.Utilities;
-
-namespace Monodoc.Providers
-{
-       public interface IEcmaProviderFileSource {
-               XmlReader GetIndexReader(string path);
-               XDocument GetTypeDocument(string path);
-               XElement GetNamespaceElement(string path);
-               string GetTypeXmlPath(string basePath, string nsName, string typeName);
-               string GetNamespaceXmlPath(string basePath, string ns);
-               XElement ExtractNamespaceSummary (string path);
-       }
-
-       internal class DefaultEcmaProviderFileSource : IEcmaProviderFileSource {
-               public static readonly IEcmaProviderFileSource Default = new DefaultEcmaProviderFileSource();
-
-               public XmlReader GetIndexReader(string path) {
-                       return XmlReader.Create (File.OpenRead (path));
-               }
-
-               public XElement GetNamespaceElement(string path) {
-                       return XElement.Load (path);
-               }
-
-               public string GetTypeXmlPath(string basePath, string nsName, string typeName) {
-                       string finalPath = Path.Combine (basePath, nsName, Path.ChangeExtension (typeName, ".xml"));
-                       return finalPath;
-               }
-
-               public XDocument GetTypeDocument(string path) {
-                       return XDocument.Load (path);
-               }
-
-               public string GetNamespaceXmlPath(string basePath, string ns) {
-                       string finalPath = Path.Combine(basePath, String.Format("ns-{0}.xml", ns));
-                       return finalPath;
-               }
-
-               public XElement ExtractNamespaceSummary (string path)
-               {
-                       using (var reader = XmlReader.Create (path)) {
-                               reader.ReadToFollowing ("Namespace");
-                               var name = reader.GetAttribute ("Name");
-                               var summary = reader.ReadToFollowing ("summary") ? XElement.Load (reader.ReadSubtree ()) : new XElement ("summary");
-                               var remarks = reader.ReadToFollowing ("remarks") ? XElement.Load (reader.ReadSubtree ()) : new XElement ("remarks");
-
-                               return new XElement ("namespace",
-                                                    new XAttribute ("ns", name ?? string.Empty),
-                                                    summary,
-                                                    remarks);
-                       }
-               }
-       }
-
-       public class EcmaProvider : Provider
-       {
-               HashSet<string> directories = new HashSet<string> ();
-               IEcmaProviderFileSource fileSource;
-
-               public EcmaProvider ()
-               {
-               }
-
-               public EcmaProvider (string baseDir)
-               {
-                       AddDirectory (baseDir);
-               }
-
-               public IEcmaProviderFileSource FileSource { 
-                       get {
-                               if (fileSource == null) {
-                                       fileSource = new DefaultEcmaProviderFileSource();
-                               }
-                               return fileSource;
-                       }
-                       set { fileSource = value; }
-               }
-
-               public void AddDirectory (string directory)
-               {
-                       if (string.IsNullOrEmpty (directory))
-                               throw new ArgumentNullException ("directory");
-
-                       directories.Add (directory);
-               }
-
-               public override void PopulateTree (Tree tree)
-               {
-                       var storage = tree.HelpSource.Storage;
-                       var nsSummaries = new Dictionary<string, XElement> ();
-                       int resID = 0;
-
-                       foreach (var asm in directories) {
-                               var indexFilePath = Path.Combine (asm, "index.xml");
-                               if (!File.Exists (indexFilePath)) {
-                                       Console.Error.WriteLine ("Warning: couldn't process directory `{0}' as it has no index.xml file", asm);
-                                       continue;
-                               }
-
-                               EcmaDoc.PopulateTreeFromIndexFile (indexFilePath, EcmaHelpSource.EcmaPrefix, tree, storage, nsSummaries, _ => resID++.ToString (), FileSource);
-                       }
-
-                       foreach (var summary in nsSummaries)
-                               storage.Store ("xml.summary." + summary.Key, summary.Value.ToString ());
-
-                       var masterSummary = new XElement ("elements",
-                                                         directories
-                                                         .SelectMany (d => Directory.EnumerateFiles (d, "ns-*.xml"))
-                                                         .Select (FileSource.ExtractNamespaceSummary));
-                       storage.Store ("mastersummary.xml", masterSummary.ToString ());
-               }
-
-
-
-               public override void CloseTree (HelpSource hs, Tree tree)
-               {
-                       AddImages (hs);
-                       AddExtensionMethods (hs);
-               }
-
-               void AddEcmaXml (HelpSource hs)
-               {
-                       var xmls = directories
-                               .SelectMany (Directory.EnumerateDirectories) // Assemblies
-                               .SelectMany (Directory.EnumerateDirectories) // Namespaces
-                               .SelectMany (Directory.EnumerateFiles)
-                               .Where (f => f.EndsWith (".xml")); // Type XML files
-
-                       int resID = 0;
-                       foreach (var xml in xmls)
-                               using (var file = File.OpenRead (xml))
-                                       hs.Storage.Store ((resID++).ToString (), file);
-               }
-
-               void AddImages (HelpSource hs)
-               {
-                       var imgs = directories
-                               .SelectMany (Directory.EnumerateDirectories)
-                               .Select (d => Path.Combine (d, "_images"))
-                               .Where (Directory.Exists)
-                               .SelectMany (Directory.EnumerateFiles);
-
-                       foreach (var img in imgs)
-                               using (var file = File.OpenRead (img))
-                                       hs.Storage.Store (Path.GetFileName (img), file);
-               }
-
-               void AddExtensionMethods (HelpSource hs)
-               {
-                       var extensionMethods = directories
-                               .SelectMany (Directory.EnumerateDirectories)
-                               .Select (d => Path.Combine (d, "index.xml"))
-                               .Where (File.Exists)
-                               .Select (f => {
-                                       using (var file = File.OpenRead (f)) {
-                                               var reader = XmlReader.Create (file);
-                                               reader.ReadToFollowing ("ExtensionMethods");
-                                               return reader.ReadInnerXml ();
-                                       }
-                           })
-                           .DefaultIfEmpty (string.Empty);
-
-                       hs.Storage.Store ("ExtensionMethods.xml",
-                                         "<ExtensionMethods>" + extensionMethods.Aggregate (string.Concat) + "</ExtensionMethods>");
-               }
-
-               IEnumerable<string> GetEcmaXmls ()
-               {
-                       return directories
-                               .SelectMany (Directory.EnumerateDirectories) // Assemblies
-                               .SelectMany (Directory.EnumerateDirectories) // Namespaces
-                               .SelectMany (Directory.EnumerateFiles)
-                               .Where (f => f.EndsWith (".xml")); // Type XML files
-               }
-       }
-
-       public class EcmaHelpSource : HelpSource
-       {
-               internal const string EcmaPrefix = "ecma:";
-               LRUCache<string, Node> cache = new LRUCache<string, Node> (4);
-
-               public EcmaHelpSource (string base_file, bool create) : base (base_file, create)
-               {
-               }
-
-               protected EcmaHelpSource () : base ()
-               {
-               }
-
-               protected override string UriPrefix {
-                       get {
-                               return EcmaPrefix;
-                       }
-               }
-
-               public override bool CanHandleUrl (string url)
-               {
-                       if (url.Length > 2 && url[1] == ':') {
-                               switch (url[0]) {
-                               case 'T':
-                               case 'M':
-                               case 'C':
-                               case 'P':
-                               case 'E':
-                               case 'F':
-                               case 'N':
-                               case 'O':
-                                       return true;
-                               }
-                       }
-                       return base.CanHandleUrl (url);
-               }
-
-               // Clean the extra paramers in the id
-               public override Stream GetHelpStream (string id)
-               {
-                       var idParts = id.Split ('?');
-                       var name = idParts[0];
-                       if (name == "root:")
-                               name = "mastersummary.xml";
-                       return base.GetHelpStream (name);
-               }
-
-               public override Stream GetCachedHelpStream (string id)
-               {
-                       var idParts = id.Split ('?');
-                       return base.GetCachedHelpStream (idParts[0]);
-               }
-
-               public override DocumentType GetDocumentTypeForId (string id)
-               {
-                       return DocumentType.EcmaXml;
-               }
-
-               public override string GetPublicUrl (Node node)
-               {
-                       string url = string.Empty;
-                       var type = EcmaDoc.GetNodeType (node);
-                       //Console.WriteLine ("GetPublicUrl {0} : {1} [{2}]", node.Element, node.Caption, type.ToString ());
-                       switch (type) {
-                       case EcmaNodeType.Namespace:
-                               return node.Element; // A namespace node has already a well formated internal url
-                       case EcmaNodeType.Type:
-                               return MakeTypeNodeUrl (node);
-                       case EcmaNodeType.Meta:
-                               return MakeTypeNodeUrl (GetNodeTypeParent (node)) + GenerateMetaSuffix (node);
-                       case EcmaNodeType.Member:
-                               var typeChar = EcmaDoc.GetNodeMemberTypeChar (node);
-                               var parentNode = GetNodeTypeParent (node);
-                               var typeNode = MakeTypeNodeUrl (parentNode).Substring (2);
-                               return typeChar + ":" + typeNode + MakeMemberNodeUrl (typeChar, node);
-                       default:
-                               return null;
-                       }
-               }
-
-               string MakeTypeNodeUrl (Node node)
-               {
-                       // A Type node has a Element property of the form: 'ecma:{number}#{typename}/'
-                       var hashIndex = node.Element.IndexOf ('#');
-                       var typeName = node.Element.Substring (hashIndex + 1, node.Element.Length - hashIndex - 2);
-                       return "T:" + node.Parent.Caption + '.' + typeName.Replace ('.', '+');
-               }
-
-               string MakeMemberNodeUrl (char typeChar, Node node)
-               {
-                       // We clean inner type ctor name which may contain the outer type name
-                       var caption = node.Caption;
-
-                       // Sanitize constructor caption of inner types
-                       if (typeChar == 'C') {
-                               int lastDot = -1;
-                               for (int i = 0; i < caption.Length && caption[i] != '('; i++)
-                                       lastDot = caption[i] == '.' ? i : lastDot;
-                               return lastDot == -1 ? '.' + caption : caption.Substring (lastDot);
-                       }
-
-                       /* We handle type conversion operator by checking if the name contains " to "
-                        * (as in 'foo to bar') and we generate a corresponding conversion signature
-                        */
-                       if (typeChar == 'O' && caption.IndexOf (" to ") != -1) {
-                               var parts = caption.Split (' ');
-                               return "." + node.Parent.Caption + "(" + parts[0] + ", " + parts[2] + ")";
-                       }
-
-                       /* The goal here is to treat method which are explicit interface definition
-                        * such as 'void IDisposable.Dispose ()' for which the caption is a dot
-                        * expression thus colliding with the ecma parser.
-                        * If the first non-alpha character in the caption is a dot then we have an
-                        * explicit member implementation (we assume the interface has namespace)
-                        */
-                       var firstNonAlpha = caption.FirstOrDefault (c => !char.IsLetterOrDigit (c));
-                       if (firstNonAlpha == '.')
-                               return "$" + caption;
-
-                       return "." + caption;
-               }
-
-               Node GetNodeTypeParent (Node node)
-               {
-                       // Type nodes are always at level 2 so we just need to get there
-                       while (node != null && node.Parent != null
-                              && !node.Parent.Parent.Element.StartsWith ("root:/", StringComparison.OrdinalIgnoreCase) && node.Parent.Parent.Parent != null)
-                               node = node.Parent;
-                       return node;
-               }
-
-               string GenerateMetaSuffix (Node node)
-               {
-                       string suffix = string.Empty;
-                       // A meta node has always a type element to begin with
-                       while (EcmaDoc.GetNodeType (node) != EcmaNodeType.Type) {
-                               suffix = '/' + node.Element + suffix;
-                               node = node.Parent;
-                       }
-                       return suffix;
-               }
-
-               public override string GetInternalIdForUrl (string url, out Node node, out Dictionary<string, string> context)
-               {
-                       var id = string.Empty;
-                       node = null;
-                       context = null;
-
-                       if (!url.StartsWith (UriPrefix, StringComparison.OrdinalIgnoreCase)) {
-                               node = MatchNode (url);
-                               if (node == null)
-                                       return null;
-                               id = node.GetInternalUrl ();
-                       }
-
-                       string hash;
-                       id = GetInternalIdForInternalUrl (id, out hash);
-                       context = EcmaDoc.GetContextForEcmaNode (hash, SourceID.ToString (), node);
-
-                       return id;
-               }
-
-               public string GetInternalIdForInternalUrl (string internalUrl, out string hash)
-               {
-                       var id = internalUrl;
-                       if (id.StartsWith (UriPrefix, StringComparison.OrdinalIgnoreCase))
-                               id = id.Substring (UriPrefix.Length);
-                       else if (id.StartsWith ("N:", StringComparison.OrdinalIgnoreCase))
-                               id = "xml.summary." + id.Substring ("N:".Length);
-
-                       var hashIndex = id.IndexOf ('#');
-                       hash = string.Empty;
-                       if (hashIndex != -1) {
-                               hash = id.Substring (hashIndex + 1);
-                               id = id.Substring (0, hashIndex);
-                       }
-
-                       return id;
-               }
-
-               public override Node MatchNode (string url)
-               {
-                       Node node = null;
-                       if ((node = cache.Get (url)) == null) {
-                               node = EcmaDoc.MatchNodeWithEcmaUrl (url, Tree);
-                               if (node != null)
-                                       cache.Put (url, node);
-                       }
-                       return node;
-               }
-
-               public override void PopulateIndex (IndexMaker index_maker)
-               {
-                       foreach (Node ns_node in Tree.RootNode.ChildNodes){
-                               foreach (Node type_node in ns_node.ChildNodes){
-                                       string typename = type_node.Caption.Substring (0, type_node.Caption.IndexOf (' '));
-                                       string full = ns_node.Caption + "." + typename;
-
-                                       string doc_tag = GetKindFromCaption (type_node.Caption);
-                                       string url = type_node.PublicUrl;
-
-                                       //
-                                       // Add MonoMac/MonoTouch [Export] attributes, those live only in classes
-                                       //
-                                       XDocument type_doc = null;
-                                       ILookup<string, XElement> prematchedMembers = null;
-                                       bool hasExports = doc_tag == "Class" && (ns_node.Caption.StartsWith ("MonoTouch") || ns_node.Caption.StartsWith ("MonoMac"));
-                                       if (hasExports) {
-                                               try {
-                                                       string rest, hash;
-                                                       var id = GetInternalIdForInternalUrl (type_node.GetInternalUrl (), out hash);
-                                                       type_doc = XDocument.Load (GetHelpStream (id));
-                                                       prematchedMembers = type_doc.Root.Element ("Members").Elements ("Member").ToLookup (n => (string)n.Attribute ("MemberName"), n => n);
-                                               } catch (Exception e) {
-                                                       Console.WriteLine ("Problem processing {0} for MonoTouch/MonoMac exports\n\n{0}", e);
-                                                       hasExports = false;
-                                               }
-                                       }
-
-                                       if (doc_tag == "Class" || doc_tag == "Structure" || doc_tag == "Interface"){
-                                               index_maker.Add (type_node.Caption, typename, url);
-                                               index_maker.Add (full + " " + doc_tag, full, url);
-
-                                               foreach (Node c in type_node.ChildNodes){
-                                                       switch (c.Caption){
-                                                       case "Constructors":
-                                                               index_maker.Add ("  constructors", typename+"0", url + "/C");
-                                                               break;
-                                                       case "Fields":
-                                                               index_maker.Add ("  fields", typename+"1", url + "/F");
-                                                               break;
-                                                       case "Events":
-                                                               index_maker.Add ("  events", typename+"2", url + "/E");
-                                                               break;
-                                                       case "Properties":
-                                                               index_maker.Add ("  properties", typename+"3", url + "/P");
-                                                               break;
-                                                       case "Methods":
-                                                               index_maker.Add ("  methods", typename+"4", url + "/M");
-                                                               break;
-                                                       case "Operators":
-                                                               index_maker.Add ("  operators", typename+"5", url + "/O");
-                                                               break;
-                                                       }
-                                               }
-
-                                               //
-                                               // Now repeat, but use a different sort key, to make sure we come after
-                                               // the summary data above, start the counter at 6
-                                               //
-                                               string keybase = typename + "6.";
-
-                                               foreach (Node c in type_node.ChildNodes){
-                                                       var type = c.Caption[0];
-
-                                                       foreach (Node nc in c.ChildNodes) {
-                                                               string res = nc.Caption;
-                                                               string nurl = nc.PublicUrl;
-
-                                                               // Process exports
-                                                               if (hasExports && (type == 'C' || type == 'M' || type == 'P')) {
-                                                                       try {
-                                                                               var member = GetMemberFromCaption (type_doc, type == 'C' ? ".ctor" : res, false, prematchedMembers);
-                                                                               var exports = member.Descendants ("AttributeName").Where (a => a.Value.Contains ("Foundation.Export"));
-                                                                               foreach (var exportNode in exports) {
-                                                                                       var parts = exportNode.Value.Split ('"');
-                                                                                       if (parts.Length != 3) {
-                                                                                               Console.WriteLine ("Export attribute not found or not usable in {0}", exportNode);
-                                                                                       } else {
-                                                                                               var export = parts[1];
-                                                                                               index_maker.Add (export + " selector", export, nurl);
-                                                                                       }
-                                                                               }
-                                                                       } catch (Exception e) {
-                                                                               Console.WriteLine ("Problem processing {0}/{1} for MonoTouch/MonoMac exports\n\n{2}", nurl, res, e);
-                                                                       }
-                                                               }
-
-                                                               switch (type){
-                                                               case 'C':
-                                                                       break;
-                                                               case 'F':
-                                                                       index_maker.Add (String.Format ("{0}.{1} field", typename, res),
-                                                                                        keybase + res, nurl);
-                                                                       index_maker.Add (String.Format ("{0} field", res), res, nurl);
-                                                                       break;
-                                                               case 'E':
-                                                                       index_maker.Add (String.Format ("{0}.{1} event", typename, res),
-                                                                                        keybase + res, nurl);
-                                                                       index_maker.Add (String.Format ("{0} event", res), res, nurl);
-                                                                       break;
-                                                               case 'P':
-                                                                       index_maker.Add (String.Format ("{0}.{1} property", typename, res),
-                                                                                        keybase + res, nurl);
-                                                                       index_maker.Add (String.Format ("{0} property", res), res, nurl);
-                                                                       break;
-                                                               case 'M':
-                                                                       index_maker.Add (String.Format ("{0}.{1} method", typename, res),
-                                                                                        keybase + res, nurl);
-                                                                       index_maker.Add (String.Format ("{0} method", res), res, nurl);
-                                                                       break;
-                                                               case 'O':
-                                                                       index_maker.Add (String.Format ("{0}.{1} operator", typename, res),
-                                                                                        keybase + res, nurl);
-                                                                       break;
-                                                               }
-                                                       }
-                                               }
-                                       } else if (doc_tag == "Enumeration"){
-                                               //
-                                               // Enumerations: add the enumeration values
-                                               //
-                                               index_maker.Add (type_node.Caption, typename, url);
-                                               index_maker.Add (full + " " + doc_tag, full, url);
-
-                                               // Now, pull the values.
-                                               string rest, hash;
-                                               var id = GetInternalIdForInternalUrl (type_node.GetInternalUrl (), out hash);
-                                               var xdoc = XDocument.Load (GetHelpStream (id));
-                                               if (xdoc == null)
-                                                       continue;
-
-                                               var members = xdoc.Root.Element ("Members").Elements ("Members");
-                                               if (members == null)
-                                                       continue;
-
-                                               foreach (var member_node in members){
-                                                       string enum_value = member_node.Attribute ("MemberName").Value;
-                                                       string caption = enum_value + " value";
-                                                       index_maker.Add (caption, caption, url);
-                                               }
-                                       } else if (doc_tag == "Delegate"){
-                                               index_maker.Add (type_node.Caption, typename, url);
-                                               index_maker.Add (full + " " + doc_tag, full, url);
-                                       }
-                               }
-                       }
-               }
-
-
-               public override void PopulateSearchableIndex (IndexWriter writer)
-               {
-                       StringBuilder text = new StringBuilder ();
-                       SearchableDocument searchDoc = new SearchableDocument ();
-
-                       foreach (Node ns_node in Tree.RootNode.ChildNodes) {
-                               foreach (Node type_node in ns_node.ChildNodes) {
-                                       string typename = type_node.Caption.Substring (0, type_node.Caption.IndexOf (' '));
-                                       string full = ns_node.Caption + "." + typename;
-                                       string url = type_node.PublicUrl;
-                                       string doc_tag = GetKindFromCaption (type_node.Caption);
-                                       string rest, hash;
-                                       var id = GetInternalIdForInternalUrl (type_node.GetInternalUrl (), out hash);
-                                       var xdoc = XDocument.Load (GetHelpStream (id));
-                                       if (xdoc == null)
-                                               continue;
-                                       if (string.IsNullOrEmpty (doc_tag))
-                                               continue;
-
-                                       // For classes, structures or interfaces add a doc for the overview and
-                                       // add a doc for every constructor, method, event, ...
-                                       // doc_tag == "Class" || doc_tag == "Structure" || doc_tag == "Interface"
-                                       if (doc_tag[0] == 'C' || doc_tag[0] == 'S' || doc_tag[0] == 'I') {
-                                               // Adds a doc for every overview of every type
-                                               SearchableDocument doc = searchDoc.Reset ();
-                                               doc.Title = type_node.Caption;
-                                               doc.HotText = typename;
-                                               doc.Url = url;
-                                               doc.FullTitle = full;
-
-                                               var node_sel = xdoc.Root.Element ("Docs");
-                                               text.Clear ();
-                                               GetTextFromNode (node_sel, text);
-                                               doc.Text = text.ToString ();
-
-                                               text.Clear ();
-                                               GetExamples (node_sel, text);
-                                               doc.Examples = text.ToString ();
-
-                                               writer.AddDocument (doc.LuceneDoc);
-                                               var exportParsable = doc_tag[0] == 'C' && (ns_node.Caption.StartsWith ("MonoTouch") || ns_node.Caption.StartsWith ("MonoMac"));
-
-                                               //Add docs for contructors, methods, etc.
-                                               foreach (Node c in type_node.ChildNodes) { // c = Constructors || Fields || Events || Properties || Methods || Operators
-                                                       if (c.Element == "*")
-                                                               continue;
-                                                       const float innerTypeBoost = 0.2f;
-
-                                                       IEnumerable<Node> ncnodes = c.ChildNodes;
-                                                       // The rationale is that we need to properly handle method overloads
-                                                       // so for those method node which have children, flatten them
-                                                       if (c.Caption == "Methods") {
-                                                               ncnodes = ncnodes
-                                                                       .Where (n => n.ChildNodes == null || n.ChildNodes.Count == 0)
-                                                                       .Concat (ncnodes.Where (n => n.ChildNodes.Count > 0).SelectMany (n => n.ChildNodes));
-                                                       } else if (c.Caption == "Operators") {
-                                                               ncnodes = ncnodes
-                                                                       .Where (n => !n.Caption.EndsWith ("Conversion"))
-                                                                       .Concat (ncnodes.Where (n => n.Caption.EndsWith ("Conversion")).SelectMany (n => n.ChildNodes));
-                                                       }
-
-                                                       var prematchedMembers = xdoc.Root.Element ("Members").Elements ("Member").ToLookup (n => (string)n.Attribute ("MemberName"), n => n);
-
-                                                       foreach (Node nc in ncnodes) {
-                                                               XElement docsNode = null;
-                                                               try {
-                                                                       docsNode = GetDocsFromCaption (xdoc, c.Caption[0] == 'C' ? ".ctor" : nc.Caption, c.Caption[0] == 'O', prematchedMembers);
-                                                               } catch {}
-                                                               if (docsNode == null) {
-                                                                       Console.Error.WriteLine ("Problem: {0}", nc.PublicUrl);
-                                                                       continue;
-                                                               }
-
-                                                               SearchableDocument doc_nod = searchDoc.Reset ();
-                                                               doc_nod.Title = LargeName (nc) + " " + EcmaDoc.EtcKindToCaption (c.Caption[0]);
-                                                               doc_nod.FullTitle = ns_node.Caption + '.' + typename + "::" + nc.Caption;
-                                                               doc_nod.HotText = string.Empty;
-
-                                                               /* Disable constructors hottext indexing as it's often "polluting" search queries
-                                                                  because it has the same hottext than standard types */
-                                                               if (c.Caption != "Constructors") {
-                                                                       //dont add the parameters to the hottext
-                                                                       int ppos = nc.Caption.IndexOf ('(');
-                                                                       doc_nod.HotText = ppos != -1 ? nc.Caption.Substring (0, ppos) : nc.Caption;
-                                                               }
-
-                                                               var urlnc = nc.PublicUrl;
-                                                               doc_nod.Url = urlnc;
-
-                                                               text.Clear ();
-                                                               GetTextFromNode (docsNode, text);
-                                                               doc_nod.Text = text.ToString ();
-
-                                                               text.Clear ();
-                                                               GetExamples (docsNode, text);
-                                                               doc_nod.Examples = text.ToString ();
-
-                                                               Document lucene_doc = doc_nod.LuceneDoc;
-                                                               lucene_doc.Boost = innerTypeBoost;
-                                                               writer.AddDocument (lucene_doc);
-
-                                                               // Objective-C binding specific parsing of [Export] attributes
-                                                               if (exportParsable) {
-                                                                       try {
-                                                                               var exports = docsNode.Parent.Elements ("Attributes").Elements ("Attribute").Elements ("AttributeName")
-                                                                                       .Select (a => (string)a).Where (txt => txt.Contains ("Foundation.Export"));
-
-                                                                               foreach (var exportNode in exports) {
-                                                                                       var parts = exportNode.Split ('"');
-                                                                                       if (parts.Length != 3) {
-                                                                                               Console.WriteLine ("Export attribute not found or not usable in {0}", exportNode);
-                                                                                               continue;
-                                                                                       }
-
-                                                                                       var export = parts[1];
-                                                                                       var export_node = searchDoc.Reset ();
-                                                                                       export_node.Title = export + " Export";
-                                                                                       export_node.FullTitle = ns_node.Caption + '.' + typename + "::" + export;
-                                                                                       export_node.Url = urlnc;
-                                                                                       export_node.HotText = export;
-                                                                                       export_node.Text = string.Empty;
-                                                                                       export_node.Examples = string.Empty;
-                                                                                       lucene_doc = export_node.LuceneDoc;
-                                                                                       lucene_doc.Boost = innerTypeBoost;
-                                                                                       writer.AddDocument (lucene_doc);
-                                                                               }
-                                                                       } catch (Exception e){
-                                                                               Console.WriteLine ("Problem processing {0} for MonoTouch/MonoMac exports\n\n{0}", e);
-                                                                       }
-                                                               }
-                                                       }
-                                               }
-                                       // doc_tag == "Enumeration"
-                                       } else if (doc_tag[0] == 'E'){
-                                               var members = xdoc.Root.Element ("Members").Elements ("Member");
-                                               if (members == null)
-                                                       continue;
-
-                                               text.Clear ();
-                                               foreach (var member_node in members) {
-                                                       string enum_value = (string)member_node.Attribute ("MemberName");
-                                                       text.Append (enum_value);
-                                                       text.Append (" ");
-                                                       GetTextFromNode (member_node.Element ("Docs"), text);
-                                                       text.AppendLine ();
-                                               }
-
-                                               SearchableDocument doc = searchDoc.Reset ();
-
-                                               text.Clear ();
-                                               GetExamples (xdoc.Root.Element ("Docs"), text);
-                                               doc.Examples = text.ToString ();
-
-                                               doc.Title = type_node.Caption;
-                                               doc.HotText = (string)xdoc.Root.Attribute ("Name");
-                                               doc.FullTitle = full;
-                                               doc.Url = url;
-                                               doc.Text = text.ToString();
-                                               writer.AddDocument (doc.LuceneDoc);
-                                       // doc_tag == "Delegate"
-                                       } else if (doc_tag[0] == 'D'){
-                                               SearchableDocument doc = searchDoc.Reset ();
-                                               doc.Title = type_node.Caption;
-                                               doc.HotText = (string)xdoc.Root.Attribute ("Name");
-                                               doc.FullTitle = full;
-                                               doc.Url = url;
-
-                                               var node_sel = xdoc.Root.Element ("Docs");
-
-                                               text.Clear ();
-                                               GetTextFromNode (node_sel, text);
-                                               doc.Text = text.ToString();
-
-                                               text.Clear ();
-                                               GetExamples (node_sel, text);
-                                               doc.Examples = text.ToString();
-
-                                               writer.AddDocument (doc.LuceneDoc);
-                                       }
-                               }
-                       }
-               }
-
-               string GetKindFromCaption (string s)
-               {
-                       int p = s.LastIndexOf (' ');
-                       if (p > 0)
-                               return s.Substring (p + 1);
-                       return null;
-               }
-
-               // Extract the interesting text from the docs node
-               void GetTextFromNode (XElement n, StringBuilder sb)
-               {
-                       // Include the text content of the docs
-                       sb.AppendLine (n.Value);
-                       foreach (var tag in n.Descendants ())
-                               //include the url to which points the see tag and the name of the parameter
-                               if ((tag.Name.LocalName.Equals ("see", StringComparison.Ordinal) || tag.Name.LocalName.Equals ("paramref", StringComparison.Ordinal))
-                                   && tag.HasAttributes)
-                                       sb.AppendLine ((string)tag.Attributes ().First ());
-               }
-
-               // Extract the code nodes from the docs
-               void GetExamples (XElement n, StringBuilder sb)
-               {
-                       foreach (var code in n.Descendants ("code"))
-                               sb.Append ((string)code);
-               }
-
-               // Extract a large name for the Node
-               static string LargeName (Node matched_node)
-               {
-                       string[] parts = matched_node.GetInternalUrl ().Split('/', '#');
-                       if (parts.Length == 3 && parts[2] != String.Empty) //List of Members, properties, events, ...
-                               return parts[1] + ": " + matched_node.Caption;
-                       else if(parts.Length >= 4) //Showing a concrete Member, property, ...
-                               return parts[1] + "." + matched_node.Caption;
-                       else
-                               return matched_node.Caption;
-               }
-
-               XElement GetMemberFromCaption (XDocument xdoc, string caption, bool isOperator, ILookup<string, XElement> prematchedMembers)
-               {
-                       string name;
-                       IList<string> args;
-                       var doc = xdoc.Root.Element ("Members").Elements ("Member");
-
-                       if (isOperator) {
-                               // The first case are explicit and implicit conversion operators which are grouped specifically
-                               if (caption.IndexOf (" to ") != -1) {
-                                       var convArgs = caption.Split (new[] { " to " }, StringSplitOptions.None);
-                                       return doc
-                                               .First (n => (AttrEq (n, "MemberName", "op_Explicit") || AttrEq (n, "MemberName", "op_Implicit"))
-                                                       && ((string)n.Element ("ReturnValue").Element ("ReturnType")).Equals (convArgs[1], StringComparison.Ordinal)
-                                                       && AttrEq (n.Element ("Parameters").Element ("Parameter"), "Type", convArgs[0]));
-                               } else {
-                                       return doc.First (m => AttrEq (m, "MemberName", "op_" + caption));
-                               }
-                       }
-
-                       TryParseCaption (caption, out name, out args);
-
-                       if (!string.IsNullOrEmpty (name)) { // Filter member by name
-                               var prematched = prematchedMembers[name];
-                               doc = prematched.Any () ? prematched : doc.Where (m => AttrEq (m, "MemberName", name));
-                       }
-                       if (args != null && args.Count > 0) // Filter member by its argument list
-                               doc = doc.Where (m => m.Element ("Parameters").Elements ("Parameter").Attributes ("Type").Select (a => (string)a).SequenceEqual (args));
-
-                       return doc.First ();
-               }
-
-               XElement GetDocsFromCaption (XDocument xdoc, string caption, bool isOperator, ILookup<string, XElement> prematchedMembers)
-               {
-                       return GetMemberFromCaption (xdoc, caption, isOperator, prematchedMembers).Element ("Docs");
-               }
-
-               // A simple stack-based parser to detect single type definition separated by commas
-               IEnumerable<string> ExtractArguments (string rawArgList)
-               {
-                       var sb = new System.Text.StringBuilder ();
-                       int genericDepth = 0;
-                       int arrayDepth = 0;
-
-                       for (int i = 0; i < rawArgList.Length; i++) {
-                               char c = rawArgList[i];
-                               switch (c) {
-                               case ',':
-                                       if (genericDepth == 0 && arrayDepth == 0) {
-                                               yield return sb.ToString ();
-                                               sb.Clear ();
-                                               continue;
-                                       }
-                                       break;
-                               case '<':
-                                       genericDepth++;
-                                       break;
-                               case '>':
-                                       genericDepth--;
-                                       break;
-                               case '[':
-                                       arrayDepth++;
-                                       break;
-                               case ']':
-                                       arrayDepth--;
-                                       break;
-                               }
-                               sb.Append (c);
-                       }
-                       if (sb.Length > 0)
-                               yield return sb.ToString ();
-               }
-
-               void TryParseCaption (string caption, out string name, out IList<string> argList)
-               {
-                       name = null;
-                       argList = null;
-                       int parenIdx = caption.IndexOf ('(');
-                       // In case of simple name, there is no need for processing
-                       if (parenIdx == -1) {
-                               name = caption;
-                               return;
-                       }
-                       name = caption.Substring (0, parenIdx);
-                       // Now we gather the argument list if there is any
-                       var rawArgList = caption.Substring (parenIdx + 1, caption.Length - parenIdx - 2); // Only take what's inside the parens
-                       if (string.IsNullOrEmpty (rawArgList))
-                               return;
-
-                       argList = ExtractArguments (rawArgList).Select (arg => arg.Trim ()).ToList ();
-               }
-
-               bool AttrEq (XElement element, string attributeName, string expectedValue)
-               {
-                       return ((string)element.Attribute (attributeName)).Equals (expectedValue, StringComparison.Ordinal);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/ecmaspec-provider.cs b/mcs/class/monodoc/Monodoc/providers/ecmaspec-provider.cs
deleted file mode 100644 (file)
index 84cc4a1..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-//
-// The ecmaspec provider is for ECMA specifications
-//
-// Authors:
-//     John Luke (jluke@cfl.rr.com)
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// Use like this:
-//   mono assembler.exe --ecmaspec DIRECTORY --out name
-//
-
-using System;
-using System.Diagnostics;
-using System.IO;
-using System.Text;
-using System.Xml.XPath;
-using System.Xml.Xsl;
-using System.Xml;
-using System.Collections.Generic;
-using Lucene.Net.Index;
-using Lucene.Net.Documents;
-
-namespace Monodoc.Providers
-{
-       public class EcmaSpecProvider : Provider
-       {
-               string basedir;
-       
-               public EcmaSpecProvider (string base_directory)
-               {
-                       basedir = base_directory;
-                       if (!Directory.Exists (basedir))
-                               throw new DirectoryNotFoundException (String.Format ("The directory `{0}' does not exist", basedir));
-               }
-       
-               public override void PopulateTree (Tree tree)
-               {
-                       XPathNavigator n = new XPathDocument (Path.Combine (basedir, "toc.xml")).CreateNavigator ();
-                       n.MoveToRoot ();
-                       n.MoveToFirstChild ();
-                       PopulateNode (n.SelectChildren ("node", ""), tree.RootNode);
-               }
-       
-               void PopulateNode (XPathNodeIterator nodes, Node treeNode)
-               {
-                       foreach (XPathNavigator n in nodes) {
-                               string secNumber = n.GetAttribute ("number", "");
-                               string secName = n.GetAttribute ("name", "");
-
-                               var storage = treeNode.Tree.HelpSource.Storage;
-                               using (var file = File.OpenRead (Path.Combine (basedir, secNumber + ".xml")))
-                                       storage.Store (secNumber, file);
-
-                               Node thisNode = treeNode.GetOrCreateNode (secNumber + ": " + secName, "ecmaspec:" + secNumber);
-                       
-                               if (n.HasChildren)
-                                       PopulateNode (n.SelectChildren ("node", ""), thisNode);
-                       }
-               }
-
-               public override void CloseTree (HelpSource hs, Tree tree)
-               {
-               }
-       }
-
-       public class EcmaSpecHelpSource : HelpSource
-       {
-               const string EcmaspecPrefix = "ecmaspec:";
-               const string TocPart = "%toc"; // What is returned as TocXml
-               const string SpecPart = "%spec"; // What is returned as Ecmaspec
-
-               public EcmaSpecHelpSource (string base_file, bool create) : base (base_file, create)
-               {
-               }
-
-               public override DocumentType GetDocumentTypeForId (string id)
-               {
-                       return id.EndsWith (TocPart) ? DocumentType.TocXml : DocumentType.EcmaSpecXml;
-               }
-
-               public override bool IsGeneratedContent (string id)
-               {
-                       return id == "root:" || id.EndsWith (TocPart);
-               }
-
-               public override bool IsMultiPart (string id, out IEnumerable<string> parts)
-               {
-                       if (id == "root:" || id.EndsWith (TocPart) || id.EndsWith (SpecPart)) {
-                               parts = null;
-                               return false;
-                       }
-                       parts = MakeMultiPart (id);
-                       return true;
-               }
-
-               IEnumerable<string> MakeMultiPart (string baseId)
-               {
-                       yield return baseId + SpecPart;
-                       yield return baseId + TocPart;
-               }
-
-               public override string GetText (string id)
-               {
-                       Node n = id == "root:" ? Tree.RootNode : MatchNode (EcmaspecPrefix + id.Substring (0, id.Length - TocPart.Length));
-                       if (n == null)
-                               throw new ArgumentException ("id", string.Format ("{0} -> {1}", id, EcmaspecPrefix + id.Substring (0, id.Length - TocPart.Length)));
-                       return TreeDumper.ExportToTocXml (n, "C# Language Specification", "In this section:");
-               }
-
-               public override Stream GetHelpStream (string id)
-               {
-                       return id.EndsWith (SpecPart) ? base.GetHelpStream (id.Substring (0, id.IndexOf (SpecPart))) : base.GetHelpStream (id);
-               }
-       
-               public override void PopulateSearchableIndex (IndexWriter writer) 
-               {
-                       foreach (Node n in Tree.RootNode.ChildNodes)
-                               AddDocuments (writer, n);
-               }
-
-               protected override string UriPrefix {
-                       get {
-                               return EcmaspecPrefix;
-                       }
-               }
-
-               void AddDocuments (IndexWriter writer, Node node) 
-               {
-                       string url = node.PublicUrl;
-                       Stream file_stream = GetHelpStream (url.Substring (9));
-                       if (file_stream == null) //Error
-                               return;
-                       XmlDocument xdoc = new XmlDocument ();
-                       xdoc.Load (new XmlTextReader (file_stream));
-
-                       //Obtain the title
-                       XmlNode nelem = xdoc.DocumentElement;
-                       string title = nelem.Attributes["number"].Value + ": " + nelem.Attributes["title"].Value;
-
-                       //Obtain the text
-                       StringBuilder s = new StringBuilder ();
-                       GetTextNode (nelem, s);
-                       string text = s.ToString ();
-
-                       //Obtain the examples
-                       StringBuilder s2 = new StringBuilder ();
-                       GetExamples (nelem, s2);
-                       string examples = s2.ToString ();
-
-                       //Write to the Lucene Index all the parts
-                       SearchableDocument doc = new SearchableDocument ();
-                       doc.Title = title;
-                       doc.HotText = title.Substring (title.IndexOf (':')); 
-                       doc.Url = url;
-                       doc.Text = text;
-                       doc.Examples = examples;
-                       writer.AddDocument (doc.LuceneDoc);
-               
-                       if (node.IsLeaf)
-                               return;
-
-                       foreach (Node n in node.ChildNodes)
-                               AddDocuments (writer, n);
-               }
-
-               void GetTextNode (XmlNode n, StringBuilder s) 
-               {
-                       //dont include c# code
-                       if (n.Name == "code_example")
-                               return;
-                       //include all text from nodes
-                       if (n.NodeType == XmlNodeType.Text)
-                               s.Append (n.Value);
-               
-                       //recursively explore all nodes
-                       if (n.HasChildNodes)
-                               foreach (XmlNode n_child in n.ChildNodes)
-                                       GetTextNode (n_child, s);
-               }
-
-               void GetExamples (XmlNode n, StringBuilder s)
-               {
-                       if (n.Name == "code_example") {
-                               if (n.FirstChild.Name == "#cdata-section")
-                                       s.Append (n.FirstChild.Value);
-                       } else {
-                               if (n.HasChildNodes)
-                                       foreach (XmlNode n_child in n.ChildNodes)
-                                               GetExamples (n_child, s);
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/ecmauncompiled-provider.cs b/mcs/class/monodoc/Monodoc/providers/ecmauncompiled-provider.cs
deleted file mode 100644 (file)
index 30f3ff4..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-using System;
-using System.Linq;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Xml.Linq;
-using System.Collections.Generic;
-
-using Lucene.Net.Index;
-using Lucene.Net.Documents;
-
-using Monodoc.Ecma;
-using Monodoc.Storage;
-using Mono.Utilities;
-
-namespace Monodoc.Providers
-{
-       public class EcmaUncompiledHelpSource : EcmaHelpSource
-       {
-               readonly DirectoryInfo basedir;
-               readonly string basedoc;
-
-               public readonly string BasePath;
-
-               public new string Name {
-                       get;
-                       private set;
-               }
-       
-               /* base_file: the directory containing the index.xml file, usually in Mono land .../Documentation/en
-                * markName: if true, we encase the node caption with [] to clearly mark it's from an uncompiled source
-                */
-               public EcmaUncompiledHelpSource (string base_file, bool markName = true) : base ()
-               {
-                       basedir = new DirectoryInfo (base_file);
-                       BasePath = basedir.FullName;
-               
-                       basedoc = Path.Combine (basedir.FullName, "index.xml");
-               
-                       Name = ((string)XDocument.Load (basedoc).Root.Element ("Title")) ?? "UnnamedUncompiledSource";
-                       if (markName)
-                               Name = '[' + Name + ']';
-                       Tree.RootNode.Caption = Name;
-
-                       Func<XElement, string> indexGenerator = type => {
-                               var nsName = (string)type.Parent.Attribute ("Name");
-                               var typeName = (string)type.Attribute ("Name");
-                               return Path.ChangeExtension (nsName + '/' + typeName, ".xml");
-                       };
-
-                       this.Storage = new UncompiledDocStorage (BasePath);
-
-                       EcmaDoc.PopulateTreeFromIndexFile (basedoc, UriPrefix, Tree, null, null, indexGenerator);
-               }
-
-               protected override string UriPrefix {
-                       get {
-                               return "uncompiled:";
-                       }
-               }
-
-               public override Stream GetImage (string url)
-               {
-                       var path = Path.Combine (BasePath, "_images", url);
-                       return File.Exists (path) ? File.OpenRead (path) : (Stream)null;
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/error-provider.cs b/mcs/class/monodoc/Monodoc/providers/error-provider.cs
deleted file mode 100644 (file)
index 6a25518..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-//
-// error-provider.cs
-//
-// Author:
-//   Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-// Copyright 2003-2011 Novell
-// Copyright 2011 Xamarin Inc
-//
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Linq;
-using Lucene.Net.Index;
-using Lucene.Net.Documents;
-
-namespace Monodoc.Providers
-{
-       public class ErrorProviderConfig
-       {
-               public string FilesPath;
-               public string Match;
-               public int ErrorNumSubstringStart;
-               public int ErrorNumSubstringLength;
-               public string FriendlyFormatString;
-
-               public override string ToString ()
-               {
-                       var sb = new StringBuilder ();
-                       var w = new StringWriter (sb);
-                       
-                       w.WriteLine ("FilesPath: {0}", FilesPath);
-                       w.WriteLine ("Match: {0}", Match);
-                       w.WriteLine ("Error Number Substring: {0} Length:{1}", ErrorNumSubstringStart, ErrorNumSubstringLength);
-                       w.WriteLine ("FriendlyFormatString: {0}", FriendlyFormatString);
-                       
-                       return w.ToString ();
-               }
-               
-               public Dictionary<string, ErrorDocumentation> Compile (HelpSource hs)
-               {
-                       string[] files = Directory.GetFiles (FilesPath, Match);
-                       var ret = new Dictionary<string, ErrorDocumentation> ();
-                       
-                       foreach (string s in files) {
-                               ErrorDocumentation d;
-                               int errorNum = 0;
-
-                               try {
-                                       errorNum = int.Parse (Path.GetFileName (s).Substring (ErrorNumSubstringStart, ErrorNumSubstringLength));
-                               } catch {
-                                       Console.WriteLine ("Ignoring file {0}", s);
-                               }
-                               
-                               string errorName = String.Format (FriendlyFormatString, errorNum);
-                               
-                               if (!ret.TryGetValue (errorName, out d))
-                                       ret[errorName] = d = new ErrorDocumentation (errorName);
-
-                               if (d.Details == null) {
-                                       string xmlFile = Path.ChangeExtension (s, "xml");
-                                       if (File.Exists (xmlFile)) {
-                                               XmlSerializer cfgRdr = new XmlSerializer (typeof (ErrorDetails));
-                                               d.Details = (ErrorDetails)cfgRdr.Deserialize (new XmlTextReader (xmlFile));
-                                       }
-                               }
-                               // Encoding is same as used in MCS, so we will be able to do all those files
-                               using (StreamReader reader = new StreamReader (s, Encoding.GetEncoding (28591))) {
-                                       d.Examples.Add (reader.ReadToEnd ());
-                               }
-                       }
-                       
-                       return ret;
-               }
-       }
-
-       public class ErrorDocumentation
-       {
-               public string ErrorName;
-               public ErrorDetails Details;
-               public List<string> Examples = new List<string> ();
-               
-               public ErrorDocumentation () {}
-               public ErrorDocumentation (string ErrorName)
-               {
-                       this.ErrorName = ErrorName;
-               }
-       }
-       
-       public class ErrorDetails
-       {
-               public XmlNode Summary;
-               public XmlNode Details;
-       }
-
-       public class ErrorProvider : Provider
-       {
-               ErrorProviderConfig config;
-               
-               public ErrorProvider (string configFile)
-               {
-                       config = ReadConfig (configFile);
-               }
-               
-               public static ErrorProviderConfig ReadConfig (string file)
-               {
-                       XmlSerializer cfgRdr = new XmlSerializer (typeof (ErrorProviderConfig));
-                       ErrorProviderConfig ret = (ErrorProviderConfig)cfgRdr.Deserialize (new XmlTextReader (file));
-                       // handle path rel to the config file
-                       ret.FilesPath = Path.Combine (Path.GetDirectoryName (file), ret.FilesPath);
-                       return ret;
-               }
-       
-               public override void PopulateTree (Tree tree)
-               {
-                       // everything is done in CloseTree so we can pack
-               }
-       
-               public override void CloseTree (HelpSource hs, Tree tree)
-               {
-                       var entries = config.Compile (hs);
-                       MemoryStream ms = new MemoryStream ();
-                       XmlSerializer writer = new XmlSerializer (typeof (ErrorDocumentation));
-                       
-                       foreach (var de in entries) {
-                               ErrorDocumentation d = de.Value;
-                               string s = de.Key;
-
-                               tree.RootNode.GetOrCreateNode (s, "error:" + s);
-                               
-                               writer.Serialize (ms, d);
-                               ms.Position = 0;
-                               hs.Storage.Store (s, ms);
-                               ms.SetLength (0);
-                       }
-                       
-                       tree.RootNode.Sort ();
-               }
-       }
-       
-       public class ErrorHelpSource : HelpSource
-       {               
-               public ErrorHelpSource (string base_file, bool create) : base (base_file, create)
-               {
-               }
-
-               public override string GetText (string id)
-               {
-                       return TreeDumper.ExportToTocXml (Tree.RootNode, "Compiler Error Reference", "In this section:");
-               }
-               
-               protected override string UriPrefix {
-                       get {
-                               return "error:";
-                       }
-               }
-
-               public override bool IsGeneratedContent (string id)
-               {
-                       return id == "root:";
-               }
-
-               public override DocumentType GetDocumentTypeForId (string id)
-               {
-                       return id == "root:" ? DocumentType.TocXml : DocumentType.ErrorXml;
-               }
-
-               public override string GetInternalIdForUrl (string url, out Node node, out Dictionary<string, string> context)
-               {
-                       var result = base.GetInternalIdForUrl (url, out node, out context);
-                       return result.ToLower ();
-               }
-               
-               public override void PopulateIndex (IndexMaker index_maker)
-               {
-                       foreach (Node n in Tree.RootNode.ChildNodes)
-                               index_maker.Add (n.Caption, n.Caption, n.Element);
-               }
-
-               public override void PopulateSearchableIndex (IndexWriter writer) 
-               {
-                       foreach (Node n in Tree.RootNode.ChildNodes) {
-                               XmlSerializer reader = new XmlSerializer (typeof (ErrorDocumentation));
-                               ErrorDocumentation d = (ErrorDocumentation)reader.Deserialize (GetHelpStream (n.Element.Substring (6)));
-                               SearchableDocument doc = new SearchableDocument ();
-                               doc.Title = d.ErrorName;
-                               doc.Url = n.Element;
-                               doc.Text = d.Details != null ? d.Details.ToString () : string.Empty;
-                               doc.Examples = d.Examples.Cast<string> ().Aggregate ((e1, e2) => e1 + Environment.NewLine + e2);
-                               doc.HotText = d.ErrorName;
-                               writer.AddDocument (doc.LuceneDoc);
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/man-provider.cs b/mcs/class/monodoc/Monodoc/providers/man-provider.cs
deleted file mode 100755 (executable)
index 6e68626..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// A provider to display man pages
-//
-// Authors:
-//   Johannes Roith <johannes@roith.de>
-//   Jonathan Pryor <jpryor@novell.com>
-//
-// (C) 2008 Novell, Inc.
-
-using System;
-using System.IO;
-using System.Text;
-using System.Xml;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace Monodoc.Providers
-{
-       public class ManProvider : Provider
-       {
-               string[] tocFiles;
-       
-               public ManProvider (string[] handbookTocFiles)
-               {
-                       tocFiles = handbookTocFiles;
-
-                       // huh...
-                       if (!File.Exists (tocFiles[0]))
-                               throw new FileNotFoundException (String.Format ("The table of contents, `{0}' does not exist", tocFiles[0]));
-               }
-
-               public override void PopulateTree (Tree tree)
-               {
-                       foreach(string TocFile in tocFiles) {
-                               XmlDocument doc = new XmlDocument();
-                               doc.Load (TocFile);
-
-                               XmlNodeList nodeList = doc.GetElementsByTagName("manpage");
-                               Node nodeToAddChildrenTo = tree.RootNode;
-                               var storage = nodeToAddChildrenTo.Tree.HelpSource.Storage;
-
-                               foreach (XmlNode node in nodeList) {
-
-                                       XmlAttribute name = node.Attributes["name"];
-                                       XmlAttribute page = node.Attributes["page"];
-
-                                       if (name == null || page == null) continue;
-
-                                       if (!File.Exists (page.Value))
-                                               continue;
-
-                                       string target = "man:" + name.Value;
-                                       nodeToAddChildrenTo.CreateNode (name.Value, target);
-
-                                       if (File.Exists (page.Value))
-                                               using (var file = File.OpenRead (page.Value))
-                                                       storage.Store (name.Value, file);
-                               }
-                       }
-               }
-
-               public override void CloseTree (HelpSource hs, Tree tree)
-               {
-               }
-       }
-
-       public class ManHelpSource : HelpSource
-       {
-               const string ManPrefix = "man:";
-               Dictionary<string, Node> nodesMap;
-
-               public ManHelpSource (string base_file, bool create) : base (base_file, create)
-               {
-                       nodesMap = Tree.RootNode.ChildNodes.ToDictionary (n => n.Element);
-               }
-
-               // Since man always has a flat tree and rather small amount of item
-               // we store them in a dictionary
-               public override Node MatchNode (string url)
-               {
-                       Node result;
-                       return nodesMap.TryGetValue (url, out result) ? result : null;
-               }
-
-               public override DocumentType GetDocumentTypeForId (string id)
-               {
-                       return id == "root:" ? DocumentType.TocXml : DocumentType.Man;
-               }
-
-               public override bool IsGeneratedContent (string id)
-               {
-                       return id == "root:";
-               }
-       
-               public override string GetText (string url)
-               {
-                       return TreeDumper.ExportToTocXml (Tree.RootNode, "Mono Documentation Library", "Available man pages:");
-               }
-
-               protected override string UriPrefix {
-                       get {
-                               return ManPrefix;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/simple-provider.cs b/mcs/class/monodoc/Monodoc/providers/simple-provider.cs
deleted file mode 100644 (file)
index e567dc1..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-//
-// The simple provider is an example provider
-//
-// Author:
-//   Miguel de Icaza (miguel@ximian.com)
-//
-// Use like this:
-//   mono assembler.exe --simple DIRECTORY --out name
-//
-// Then create a .source file in your sources directory, and copy
-// name.tree and name.zip to the sources directory.
-//
-// To view the tree generated, use:
-//   mono dump.exe name.tree
-//
-namespace Monodoc {
-using System;
-using System.IO;
-using System.Text;
-
-//
-// The simple provider generates the information source
-//
-public class SimpleProvider : Provider {
-       string basedir;
-       
-       public SimpleProvider (string base_directory)
-       {
-               basedir = base_directory;
-               if (!Directory.Exists (basedir))
-                       throw new FileNotFoundException (String.Format ("The directory `{0}' does not exist", basedir));
-       }
-
-       public override void PopulateTree (Tree tree)
-       {
-               Node top = tree.LookupNode ("Directory at: " + basedir, "simple:");
-               
-               foreach (string dir in Directory.GetDirectories (basedir)){
-                       string url = Path.GetFileName (dir);
-                       Node n = top.LookupNode ("Dir: " + url, url);
-                       PopulateDir (n, dir);
-               }
-       }
-
-#pragma warning disable 219
-       void PopulateDir (Node me, string dir)
-       {
-               Console.WriteLine ("Adding: " + dir);
-               foreach (string child_dir in Directory.GetDirectories (dir)){
-                       string url = Path.GetFileName (child_dir);
-                       Node n = me.LookupNode ("Dir: " + url, "simple-directory:" + url);
-                       PopulateDir (me, child_dir);
-               }
-
-               foreach (string file in Directory.GetFiles (dir)){
-                       Console.WriteLine ("   File: " + file);
-                       string file_code = me.tree.HelpSource.PackFile (file);
-
-                       //
-                       // The url element encoded for the file is:
-                       //  originalfilename#CODE
-                       //
-                       // The code is assigned to us after the file has been packaged
-                       // We use the original-filename later to render html or text files
-                       //
-                       Node n = me.LookupNode (Path.GetFileName (file), file + "#" + file_code);
-                       
-               }
-       }
-
-       public override void CloseTree (HelpSource hs, Tree tree)
-       {
-       }
-}
-
-//
-// The HelpSource is used during the rendering phase.
-//
-
-public class SimpleHelpSource : HelpSource {
-       Encoding enc;
-       
-       public SimpleHelpSource (string base_file, bool create) : base (base_file, create)
-       {
-               enc = new UTF8Encoding (false, false);
-       }
-
-       public override string GetText (string url, out Node match_node)
-       {
-               match_node = null;
-
-               string c = GetCachedText (url);
-               if (c != null)
-                       return c;
-
-               if (url.StartsWith ("simple:") || url.StartsWith ("simple-directory:"))
-                       return GetTextFromUrl (url);
-
-               return null;
-       }
-
-       string GetTextFromUrl (string url)
-       {
-               // Remove "simple:" prefix
-               url = url.Substring (7);
-
-               if (url.StartsWith ("simple-directory:"))
-                       return String.Format ("<html>This is a directory entry point: {0} </html>",
-                                             url.Substring (17));
-
-               // Otherwise the last element of the url is the file code we got.
-               int pound = url.LastIndexOf ("#");
-               string code;
-               if (pound == -1)
-                       code = url;
-               else
-                       code = url.Substring (pound+1);
-
-
-               Stream s = GetHelpStream (code);
-               if (s == null)
-                       return String.Format ("<html>No stream for this node: {0} </html>", url);
-
-               //
-               // Now, get the file type
-               //
-               int slash = url.LastIndexOf ("/");
-               string fname = url.Substring (slash + 1, pound - slash - 1).ToLower ();
-
-               if (fname.EndsWith (".html") || fname.EndsWith (".htm")){
-                       TextReader r = new StreamReader (s, enc);
-                       return r.ReadToEnd ();
-               }
-
-               if (fname.EndsWith (".png") || fname.EndsWith (".jpg") ||
-                   fname.EndsWith (".jpeg") || fname.EndsWith (".gif")){
-                       return "<html>Image file, have not implemented rendering this yet</html>";
-               }
-
-               // Convert text to HTML
-               StringBuilder result = new StringBuilder ("<html>");
-               TextReader reader = new StreamReader (s, enc);
-               string line;
-               
-               while ((line = reader.ReadLine ()) != null){
-                       result.Append (line);
-                       result.Append ("<br>");
-               }
-               result.Append ("<html>");
-               return result.ToString ();
-       }
-}
-}
diff --git a/mcs/class/monodoc/Monodoc/providers/xhtml-provider.cs b/mcs/class/monodoc/Monodoc/providers/xhtml-provider.cs
deleted file mode 100644 (file)
index 7a86643..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-//
-// A provider that uses Windows help file xhtml TOC files and looks for the
-// referenced documents to create the help source. 
-//
-// Authors:
-// Copyright 2003 Lee Mallabone <gnome@fonicmonkey.net>
-//   Johannes Roith <johannes@roith.de>
-//   Miguel de Icaza <miguel@ximian.com>
-
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Xml;
-using System.Xml.Linq;
-
-namespace Monodoc.Providers
-{
-       public class XhtmlProvider : Provider
-       {
-               string tocFile;
-               readonly XNamespace ns = "http://www.w3.org/1999/xhtml";
-       
-               public XhtmlProvider (string handbookTocFile)
-               {
-                       tocFile = handbookTocFile;
-                       if (!File.Exists (tocFile))
-                               throw new FileNotFoundException (String.Format ("The table of contents, `{0}' does not exist", tocFile));               
-               }
-
-               public override void PopulateTree (Tree tree)
-               {
-                       var doc = XDocument.Load (tocFile);
-                       var uls = doc.Descendants (ns + "body").First ().Elements (ns + "ul");
-                       foreach (var ul in uls)
-                               ParseUl (tree, tree.RootNode, ul);
-               }
-
-               void ParseUl (Tree tree, Node parent, XElement ul)
-               {
-                       var storage = tree.HelpSource.Storage;
-                       foreach (var e in ul.Elements (ns + "li")) {
-                               var inner = e.Element (ns + "object");
-                               if (inner == null)
-                                       continue;
-                               string caption, element;
-                               ObjectEntryToParams (inner, out caption, out element);
-                               // Don't add if the backing file doesn't exist
-                               if (!File.Exists (element)) {
-                                       Console.Error.WriteLine ("Warning: File `{0}' referenced in TOC but it doesn't exist. It will be ignored.", element);
-                                       continue;
-                               }
-                               using (var file = File.OpenRead (element))
-                                       storage.Store (element, file);
-                               parent.CreateNode (caption, XhtmlHelpSource.XhtmlPrefix + element);
-                       }
-               }
-
-               void ObjectEntryToParams (XElement obj, out string caption, out string element)
-               {
-                       var ps = obj.Elements (ns + "param");
-                       caption = ps
-                               .Where (p => p.Attribute ("name").Value == "Name")
-                               .Select (p => (string)p.Attribute ("value"))
-                               .FirstOrDefault ();
-                       caption = caption ?? string.Empty;
-
-                       element = ps
-                               .Where (p => p.Attribute ("name").Value == "Local")
-                               .Select (p => (string)p.Attribute ("value"))
-                               .FirstOrDefault ();
-                       element = element ?? string.Empty;
-               }
-
-               public override void CloseTree (HelpSource hs, Tree tree)
-               {
-               }
-       }
-
-       public class XhtmlHelpSource : HelpSource
-       {
-               public XhtmlHelpSource (string base_file, bool create) : base (base_file, create)
-               {
-
-               }
-
-               internal const string XhtmlPrefix = "xhtml:";
-
-               protected override string UriPrefix {
-                       get {
-                               return XhtmlPrefix;
-                       }
-               }
-
-               public override SortType SortType {
-                       get {
-                               return SortType.Element;
-                       }
-               }
-               
-               public override DocumentType GetDocumentTypeForId (string id)
-               {
-                       return id == "root:" ? DocumentType.TocXml : DocumentType.MonoBook;
-               }
-
-               public override bool IsGeneratedContent (string id)
-               {
-                       return id == "root:";
-               }
-       
-               public override string GetText (string url)
-               {
-                       return TreeDumper.ExportToTocXml (Tree.RootNode, "Mono Handbook", string.Empty);
-               }
-
-               public static string GetAbsoluteLink(string target, string url)
-               {
-                       string value = null;
-               
-                       if (target.StartsWith ("#") ||
-                           target.StartsWith ("T:") ||
-                           target.StartsWith ("M:") ||
-                           target.StartsWith ("P:") ||
-                           target.StartsWith ("T:") ||
-                           target.StartsWith ("E:") ||
-                           target.StartsWith ("F:") ||
-                           target.StartsWith ("O:") ||
-                           target.StartsWith ("N:") ||
-                           target.StartsWith ("api:"))
-                               return null;
-               
-                       int endp = target.IndexOf(':');
-               
-                       if (endp == -1)
-                               endp = 0;
-                       string protocol = target.Substring(0, endp);
-                       switch (protocol) {
-                       case "mailto": 
-                       case "http":
-                       case "https":
-                       case "ftp":
-                       case "news":
-                       case "irc":
-                               break;
-                       default:
-                               // handle absolute urls like: /html/en/images/empty.png
-                               if (!target.StartsWith("/")) {
-                               
-                                       // url is something like "gnome/bindings/mono.html"
-                                       // This will get the path "gnome/bindings"
-                               
-                                       int slash = url.LastIndexOf ("/");
-                                       string tmpurl = url;
-                               
-                                       if (slash != -1)
-                                               tmpurl  = url.Substring(0, slash);
-                               
-                                       // Count "../" in target and go one level down
-                                       // for each in tmpurl, eventually, then remove "../".
-                               
-                                       Regex reg1 = new Regex("../");
-                                       MatchCollection matches = reg1.Matches(target);
-                               
-                                       for(int i = 1; i < matches.Count; i++) {
-                                               slash = tmpurl.LastIndexOf ("/");
-                                               if (slash != -1) 
-                                                       tmpurl  = tmpurl.Substring(0, slash);
-                                       }
-                               
-                                       target = target.Replace("../", "");
-                               
-                                       value = tmpurl + "/" + target;
-                               
-                               } else {
-                                       value = target.Substring(1, target.Length - 1);
-                               }
-                               break;
-                       }
-                       return value;
-               }
-       
-               XmlDocument RewriteLinks(XmlDocument docToProcess, string url)
-               {
-                       XmlNodeList nodeList = docToProcess.GetElementsByTagName("a");
-               
-                       foreach(XmlNode node in nodeList) {
-                       
-                               XmlElement element = (XmlElement) node;
-                       
-                               if (element.HasAttribute("href") ){
-                               
-                                       XmlAttribute href = element.GetAttributeNode("href");
-                                       string target = href.Value;
-                               
-                                       target = GetAbsoluteLink(target, url);
-                                       if (target != null) {
-                                               string newtarget = String.Format ("source-id:{0}:xhtml:{1}", SourceID, target);
-                                               href.Value = newtarget;
-                                       }
-                               }
-                       }
-
-                       nodeList = docToProcess.GetElementsByTagName("img");
-
-                       foreach(XmlNode node in nodeList) {
-                                                                                                                                    
-                               XmlElement element = (XmlElement) node;
-                                                                                                                                    
-                               if (element.HasAttribute("src") ){
-                                                                                                                                    
-                                       XmlAttribute href = element.GetAttributeNode("src");
-                                       string target = href.Value;
-                                                                                                                                    
-                                       target = GetAbsoluteLink(target, url);
-                                       if (target != null) {
-                                               string newtarget = String.Format ("source-id:{0}:xhtml:{1}", SourceID, target);
-                                               href.Value = newtarget;
-                                       }
-                               }               
-                       }
-
-                       return docToProcess;
-               }
-
-               public override void PopulateIndex (IndexMaker index_maker)
-               {
-                       PopulateIndexFromNodes (Tree.RootNode);
-               }
-
-               void PopulateIndexFromNodes (Node start)
-               {
-                       /*var nodes = start.Nodes;
-               
-                       if (nodes != null) {
-                               foreach (Node n in nodes)
-                                       PopulateIndexFromNodes (n);
-                       }*/
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/settings.cs b/mcs/class/monodoc/Monodoc/settings.cs
deleted file mode 100644 (file)
index 8dd01e6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-using System;
-using System.Configuration;
-using System.Collections.Specialized;
-
-namespace Monodoc
-{
-       public static class Config
-       {
-               static KeyValueConfigurationCollection libConfig;
-               static KeyValueConfigurationCollection exeConfig;
-
-               static Config ()
-               {
-                       try {
-                               var config = ConfigurationManager.OpenExeConfiguration (System.Reflection.Assembly.GetExecutingAssembly ().Location);
-                               libConfig = config.AppSettings.Settings;
-                       } catch {}
-
-                       try {
-                               exeConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).AppSettings.Settings;
-                       } catch {}
-               }
-
-               public static string Get (string key)
-               {
-                       KeyValueConfigurationElement element = null;
-                       // We check the configuration in order: app first and then library itself
-                       if (exeConfig != null)
-                               element = exeConfig[key];
-                       if (element == null && libConfig != null)
-                               element = libConfig[key];
-
-                       return element == null ? null : element.Value;
-               }
-
-               public static KeyValueConfigurationCollection AppSettings {
-                       get {
-                               return exeConfig;
-                       }
-               }
-
-               public static KeyValueConfigurationCollection LibSettings {
-                       get {
-                               return libConfig;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/settings_Legacy.cs b/mcs/class/monodoc/Monodoc/settings_Legacy.cs
deleted file mode 100644 (file)
index db305e4..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-using System;
-using System.IO;
-using System.Xml;
-using System.Xml.Serialization;
-
-#if LEGACY_MODE
-
-namespace Monodoc {
-       [Obsolete]
-       public class SettingsHandler {
-               static string settingsFile;
-               static XmlSerializer settingsSerializer = new XmlSerializer (typeof (Settings));
-               [Obsolete]
-               public static Settings Settings;
-
-               static SettingsHandler ()
-               {
-                       string rootDir = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
-                       Path = System.IO.Path.Combine (rootDir, "monodoc");
-                       settingsFile = System.IO.Path.Combine (Path, "settings.xml");
-                       if (File.Exists (settingsFile)) {
-                               try {
-                                       using (Stream s = File.OpenRead (settingsFile)) {
-                                               Settings = (Settings) settingsSerializer.Deserialize (s);
-                                       }
-                               } catch {
-                                       Settings = new Settings ();
-                               }
-                       } else
-                               Settings = new Settings ();
-
-                       if (Settings.preferred_font_family.Length == 0)
-                               Settings.preferred_font_family = "Sans";
-                       if (Settings.preferred_font_size <= 0)
-                               Settings.preferred_font_size = 100;
-               }
-
-               [Obsolete]
-               public static void CheckUpgrade ()
-               {
-                       // no new version
-                       if (Settings.LastSeenVersion == RootTree.MonodocVersion)
-                               return;
-
-                       // new install
-                       if (! File.Exists (settingsFile)) {
-                               Settings.LastSeenVersion = RootTree.MonodocVersion;
-                               Save ();
-                               return;
-                       }
-               }
-
-               [Obsolete]
-               public static void Save ()
-               {
-                       EnsureSettingsDirectory ();
-                       using (FileStream fs = File.Create (settingsFile)){
-                               settingsSerializer.Serialize (fs, Settings);
-                       }
-               }
-
-               // these can be used for other types of settings to
-               [Obsolete]
-               public static string Path;
-
-               [Obsolete]
-               public static void EnsureSettingsDirectory ()
-               {
-                       DirectoryInfo d = new DirectoryInfo (Path);
-                       if (!d.Exists)
-                               d.Create ();
-               }
-       }
-
-       [Obsolete]
-       public class Settings {
-               // public to allow serialization
-               [Obsolete]
-               public bool EnableEditing = true;
-
-               // Last serial number commited
-               [Obsolete]
-               public int SerialNumber = 0;
-
-               [Obsolete]
-               public bool ShowInheritedMembers = false;
-               [Obsolete]
-               public bool ShowComments = false;
-
-               [Obsolete]
-               public string Email;
-               [Obsolete]
-               public string Key;
-
-               [Obsolete]
-               public int LastSeenVersion = -1;
-
-               [Obsolete]
-               public static bool RunningGUI = false;
-
-               // fonts for rendering
-               [Obsolete]
-               public string preferred_font_family = "Sans";
-               [Obsolete]
-               public double preferred_font_size = 100;
-       }
-}
-
-#endif
-
diff --git a/mcs/class/monodoc/Monodoc/storage.cs b/mcs/class/monodoc/Monodoc/storage.cs
deleted file mode 100644 (file)
index 9fddecb..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-using System;
-using System.IO;
-using System.Collections.Generic;
-
-namespace Monodoc
-{
-       // Define a storage mechanism for a help source
-       public interface IDocStorage : IDisposable
-       {
-               // Tell if the storage can store successive change to the doc as revision
-               bool SupportRevision { get; }
-               IDocRevisionManager RevisionManager { get; }
-
-               // Tell if the storage support modifying an existing data
-               bool SupportChange { get; }
-
-               /* Store data inside the storage backend
-                * if SupportChange is false and user try to store something with an existing id
-                * an exception will be thrown
-                * if id is null or empty, the storage will try to create an automatic id. In all
-                * case the id that has been used to store the content is returned by the method
-                */
-               string Store (string id, string text);
-               string Store (string id, byte[] data);
-               string Store (string id, Stream stream);
-
-               Stream Retrieve (string id);
-
-               IEnumerable<string> GetAvailableIds ();
-       }
-
-       public interface IDocRevisionManager
-       {
-               Stream RetrieveWithRevision (string id, string revision);
-
-               // This should be ordered by most recent first
-               IEnumerable<string> AvailableRevisionsForId (string id);
-               // This can simply be implemented with above property but it can also be
-               // a revision storage symbolic value like "HEAD"
-               string LatestRevisionForId (string id);
-
-               // A commit message for instance
-               string GetRevisionDescription (string revision);
-       }
-
-       public static class DocRevisionManagerExtensions
-       {
-               public static Stream RetrieveLatestRevision (this IDocRevisionManager revManager, string id)
-               {
-                       return revManager.RetrieveWithRevision (id, revManager.LatestRevisionForId (id));
-               }
-       }
-
-       public static class DocStorageExtensions
-       {
-               public static bool TryRetrieve (this IDocStorage storage, string id, out Stream stream)
-               {
-                       stream = null;
-                       try {
-                               stream = storage.Retrieve (id);
-                               return true;
-                       } catch {
-                               return false;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/storage/NullStorage.cs b/mcs/class/monodoc/Monodoc/storage/NullStorage.cs
deleted file mode 100644 (file)
index 7605aa4..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-using System;
-using System.IO;
-using System.Xml;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace Monodoc.Storage
-{
-       // A storage that doesn't store
-       public class NullStorage : IDocStorage
-       {
-               public NullStorage ()
-               {
-               }
-
-               public bool SupportRevision {
-                       get {
-                               return false;
-                       }
-               }
-
-               public IDocRevisionManager RevisionManager {
-                       get {
-                               return null;
-                       }
-               }
-
-               public bool SupportChange {
-                       get {
-                               return true;
-                       }
-               }
-
-               public string Store (string id, string text)
-               {
-                       return id;
-               }
-
-               public string Store (string id, byte[] data)
-               {
-                       return id;
-               }
-
-               public string Store (string id, Stream stream)
-               {
-                       return id;
-               }
-
-               public Stream Retrieve (string id)
-               {
-                       return null;
-               }
-
-               public IEnumerable<string> GetAvailableIds ()
-               {
-                       return Enumerable.Empty<string> (); 
-               }
-
-               public void Dispose ()
-               {
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/storage/UncompiledDocStorage.cs b/mcs/class/monodoc/Monodoc/storage/UncompiledDocStorage.cs
deleted file mode 100644 (file)
index e807c02..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace Monodoc.Storage
-{
-       // A read-only storage to access ecma XML document based on a standard directory layout
-       // id are relative path inside the base doc directory
-       public class UncompiledDocStorage : IDocStorage
-       {
-               readonly string basePath;
-
-               public UncompiledDocStorage (string basePath)
-               {
-                       this.basePath = basePath;
-               }
-
-               public bool SupportRevision {
-                       get {
-                               return false;
-                       }
-               }
-
-               public IDocRevisionManager RevisionManager {
-                       get {
-                               return null;
-                       }
-               }
-
-               public bool SupportChange {
-                       get {
-                               return false;
-                       }
-               }
-
-               public string Store (string id, string text)
-               {
-                       throw new NotSupportedException ();
-               }
-
-               public string Store (string id, byte[] data)
-               {
-                       throw new NotSupportedException ();
-               }
-
-               public string Store (string id, Stream stream)
-               {
-                       throw new NotSupportedException ();
-               }
-
-               public Stream Retrieve (string id)
-               {
-                       var path = id;
-                       if ('/' != Path.DirectorySeparatorChar)
-                               path = path.Replace ('/', Path.DirectorySeparatorChar);
-                       return File.OpenRead (Path.Combine (basePath, path));
-               }
-
-               public IEnumerable<string> GetAvailableIds ()
-               {
-                       return Directory.EnumerateFiles (basePath, "*.xml", SearchOption.AllDirectories);
-               }
-
-               public void Dispose ()
-               {
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Monodoc/storage/ZipStorage.cs b/mcs/class/monodoc/Monodoc/storage/ZipStorage.cs
deleted file mode 100644 (file)
index 4945dbd..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-using System;
-using System.IO;
-using System.Xml;
-using System.Linq;
-using System.Text;
-using System.Collections.Generic;
-
-using ICSharpCode.SharpZipLib.Zip;
-
-namespace Monodoc.Storage
-{
-       public class ZipStorage : IDocStorage
-       {
-               string zipFileName;
-               int code;
-               ZipOutputStream zipOutput;
-               ZipFile zipFile;
-               // SharpZipLib use linear search to map name to index, correct that a bit
-               Dictionary<string, int> entries = new Dictionary<string, int> ();
-
-               public ZipStorage (string zipFileName)
-               {
-                       this.zipFileName = zipFileName;
-               }
-
-               public bool SupportRevision {
-                       get {
-                               return false;
-                       }
-               }
-
-               public IDocRevisionManager RevisionManager {
-                       get {
-                               return null;
-                       }
-               }
-
-               public bool SupportChange {
-                       get {
-                               return true;
-                       }
-               }
-
-               public string Store (string id, string text)
-               {
-                       EnsureOutput ();
-                       SetupEntry (zipOutput, ref id);
-                       var writer = new StreamWriter (zipOutput);
-                       writer.Write (text);
-                       writer.Flush ();
-                       
-                       return id;
-               }
-
-               public string Store (string id, byte[] data)
-               {
-                       EnsureOutput ();
-                       SetupEntry (zipOutput, ref id);
-                       zipOutput.Write (data, 0, data.Length);
-                       return id;
-               }
-
-               public string Store (string id, Stream stream)
-               {
-                       EnsureOutput ();
-                       SetupEntry (zipOutput, ref id);
-                       stream.CopyTo (zipOutput);
-                       return id;
-               }
-
-               void SetupEntry (ZipOutputStream zipOutput, ref string id)
-               {
-                       if (string.IsNullOrEmpty (id))
-                               id = GetNewCode ();
-
-                       ZipEntry entry = new ZipEntry (id);
-                       zipOutput.PutNextEntry (entry);
-               }
-
-               public Stream Retrieve (string id)
-               {
-                       EnsureInput ();
-                       int index;
-                       ZipEntry entry;
-                       if (!entries.TryGetValue (id, out index) || (entry = zipFile[index]) == null)
-                               entry = zipFile.GetEntry (id);
-                       if (entry != null)
-                               return zipFile.GetInputStream (entry);
-                       else
-                               throw new ArgumentException ("id", string.Format ("'{0}' isn't a valid id for this storage", id));
-               }
-
-               public IEnumerable<string> GetAvailableIds ()
-               {
-                       EnsureInput ();
-                       return zipFile.Cast<ZipEntry> ().Select (ze => ze.Name);
-               }
-
-               void EnsureOutput ()
-               {
-                       if (zipFile != null)
-                               throw new InvalidOperationException ("This ZipStorage instance is already used in read-mode");
-                       if (zipOutput != null)
-                               return;
-                       zipOutput = new ZipOutputStream (File.Create (zipFileName));
-               }
-
-               void EnsureInput ()
-               {
-                       if (zipOutput != null)
-                               throw new InvalidOperationException ("This ZipStorage instance is already used in write-mode");
-                       if (zipFile != null)
-                               return;
-                       zipFile = new ZipFile (zipFileName);
-                       entries = Enumerable.Range (0, zipFile.Size).ToDictionary (i => zipFile[i].Name, i => i);
-               }
-
-               public void Dispose ()
-               {
-                       if (zipOutput != null)
-                               zipOutput.Dispose ();
-                       if (zipFile != null)
-                               zipFile.Close ();
-               }
-
-               string GetNewCode ()
-               {
-                       return String.Format ("{0}", code++);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Resources/.gitattributes b/mcs/class/monodoc/Resources/.gitattributes
deleted file mode 100644 (file)
index bfc0c0d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/helper.js -crlf
diff --git a/mcs/class/monodoc/Resources/Lminus.gif b/mcs/class/monodoc/Resources/Lminus.gif
deleted file mode 100644 (file)
index 33c49d1..0000000
Binary files a/mcs/class/monodoc/Resources/Lminus.gif and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/Lplus.gif b/mcs/class/monodoc/Resources/Lplus.gif
deleted file mode 100644 (file)
index 9d2a2ac..0000000
Binary files a/mcs/class/monodoc/Resources/Lplus.gif and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/base.css b/mcs/class/monodoc/Resources/base.css
deleted file mode 100644 (file)
index 68941d0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-* base.css: CSS applied to all the docs 
-*
-* Author: Mario Sopena
-*/
-
-body, table {
-       margin: 0px;
-}
-
-body, table, pre, p {
-       font-family: @@FONT_FAMILY@@, sans-serif;
-       /* font-size: @@FONT_SIZE@@pt; */
-       font-size: 11pt;
-}
-
-div.header {
-    background-color: #FAFBFD;
-    font-size: 1.7em;
-    font-weight: bold;
-    padding: 8px 0 0 10px;
-    font-family: 'Segoe UI',Verdana,Arial;
-}
-
-div.title {
-       font-size: 130%;
-       font-weight: bolder;
-       margin-top: 0.3em;
-       margin-left: 0.2em;
-       margin-bottom: 0.1em;
-}
-
-.subtitle {
-       font-style: italic;
-}
-
-.attributionlogo { 
-       display:none; 
-       float:right;
-}
-
-div:hover > .attributionlogo,p:hover > .attributionlogo,td:hover > .attributionlogo,blockquote:hover > .attributionlogo { 
-       display:inline; 
-       float:right;
-}
diff --git a/mcs/class/monodoc/Resources/creativecommons.png b/mcs/class/monodoc/Resources/creativecommons.png
deleted file mode 100644 (file)
index c558cbb..0000000
Binary files a/mcs/class/monodoc/Resources/creativecommons.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/ecmaspec-html-css.xsl b/mcs/class/monodoc/Resources/ecmaspec-html-css.xsl
deleted file mode 100644 (file)
index d9c4f7b..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet 
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-       version="1.0"
-       xmlns:monodoc="monodoc:///extensions"
-       exclude-result-prefixes="monodoc"
-       >
-<xsl:output omit-xml-declaration="yes" />
-
-<xsl:template match="/clause">
-       <div class="header" id="ecmaspec">
-               <div class="subtitle">ECMA-334 C# Language Specification</div> 
-               <div class="title"><xsl:value-of select="@number"/>: <xsl:value-of select="@title"/>
-               <xsl:if test="@informative"> (informative) </xsl:if></div>
-       </div>
-       <xsl:apply-templates />
-</xsl:template>
-
-<xsl:template match="paragraph">
-       <p>
-               <xsl:apply-templates />
-       </p>
-</xsl:template>
-
-<xsl:template match="keyword">
-        <span class="keyword"> <xsl:apply-templates/></span> <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template match="hyperlink">
-       <a href="ecmaspec:{.}">
-               <xsl:value-of select="." />
-       </a>
-</xsl:template>
-
-<xsl:template match="list">
-       <ul>
-               <xsl:for-each select="list_item|list">
-                       <li><xsl:apply-templates /></li>
-               </xsl:for-each>
-       </ul>
-</xsl:template>
-
-<xsl:template match="code_example">
-       <div class="code_example">
-          <div class="code_ex_title">Code example</div>
-          <span class="code">
-                 <xsl:value-of select="monodoc:Colorize(string(descendant-or-self::text()), string('csharp'))" disable-output-escaping="yes" />
-          </span>
-       </div>
-</xsl:template>
-
-<xsl:template match="symbol">
-       <span class="symbol">
-               <xsl:apply-templates />
-       </span>
-</xsl:template>
-
-<xsl:template match="grammar_production">
-       <dl class="nt_{name/non_terminal/.}">
-               <dt><xsl:value-of select="name/non_terminal/." /></dt>
-               
-               <xsl:for-each select="rhs">
-               <dd>
-                       <xsl:apply-templates select="node()" />
-               </dd>
-               </xsl:for-each>
-       </dl>
-</xsl:template>
-
-<xsl:template match="non_terminal">
-       <span class="non_terminal"><xsl:text> </xsl:text><xsl:value-of select="." /></span>
-</xsl:template>
-
-<xsl:template match="terminal">
-       <span class="terminal"><xsl:text> </xsl:text><xsl:value-of select="." /></span>
-</xsl:template>
-
-<xsl:template match="opt">
-       <xsl:text> (</xsl:text><span class="opt">optional</span><xsl:text>) </xsl:text>
-</xsl:template>
-
-<xsl:template match="note|example">
-       <div class="note">
-               <xsl:apply-templates />
-       </div>
-</xsl:template>
-
-<xsl:template match="table_line">
-    <xsl:apply-templates /><br />
-</xsl:template>
-
-<xsl:template match="@*|node()">
-       <xsl:copy>
-               <xsl:apply-templates select="@*|node()"/>
-       </xsl:copy>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/ecmaspec-html.xsl b/mcs/class/monodoc/Resources/ecmaspec-html.xsl
deleted file mode 100644 (file)
index 631ee03..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-<xsl:output omit-xml-declaration="yes" />
-
-<xsl:template match="/clause">
-       <table width="100%" cellpadding="5">
-               <tr bgcolor="#b0c4de"><td>
-               <i>ECMA-334 C# Language Specification</i>
-
-               <h3>
-                       <xsl:value-of select="@number"/>: <xsl:value-of select="@title"/>
-                       
-                       <xsl:if test="@informative">
-                               (informative)
-                       </xsl:if>
-               </h3>
-               </td></tr>
-       </table>
-       
-       <xsl:apply-templates />
-</xsl:template>
-
-<xsl:template match="paragraph">
-       <p>
-               <xsl:apply-templates />
-       </p>
-</xsl:template>
-
-<xsl:template match="keyword">
-        <i> <xsl:apply-templates/></i> <xsl:text> </xsl:text>
-</xsl:template>
-
-<xsl:template match="hyperlink">
-       <a href="ecmaspec:{.}">
-               <xsl:value-of select="." />
-       </a>
-</xsl:template>
-
-<xsl:template match="list">
-       <ul>
-               <xsl:for-each select="list_item|list">
-                       <li><xsl:apply-templates /></li>
-               </xsl:for-each>
-       </ul>
-</xsl:template>
-
-<xsl:template match="code_example">
-  <table bgcolor="#f5f5dd" border="1" cellpadding="5">
-       <tr>
-         <td>
-           <pre>
-                 <xsl:apply-templates />
-           </pre>
-         </td>
-       </tr>
-  </table>
-</xsl:template>
-
-<xsl:template match="symbol">
-       <code>
-               <xsl:apply-templates />
-       </code>
-</xsl:template>
-
-<xsl:template match="grammar_production">
-       <dl id="nt_{name/non_terminal/.}">
-               <dt><xsl:value-of select="name/non_terminal/." /></dt>
-               
-               <xsl:for-each select="rhs">
-               <dd>
-                       <xsl:apply-templates select="node()" />
-               </dd>
-               </xsl:for-each>
-       </dl>
-</xsl:template>
-
-<xsl:template match="non_terminal">
-
-       <code><xsl:text> </xsl:text><xsl:value-of select="." /></code>
-</xsl:template>
-
-<xsl:template match="terminal">
-       <code><xsl:text> </xsl:text><xsl:value-of select="." /></code>
-</xsl:template>
-
-<xsl:template match="opt">
-       <sub>opt</sub>
-</xsl:template>
-
-<xsl:template match="@*|node()">
-       <xsl:copy>
-               <xsl:apply-templates select="@*|node()"/>
-       </xsl:copy>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/ecmaspec.css b/mcs/class/monodoc/Resources/ecmaspec.css
deleted file mode 100644 (file)
index 97937fc..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* ecmaspec.css: CSS applied to ECMA C# specs
-*
-* Author: Mario Sopena
-*/
-
-#ecmaspec {
-       background: #a4dda4; /*#83b183;*/
-       border: 2px solid #556655;
-}
-
-p {
-       margin-top: .5em;
-       margin-bottom: .5em;
-}
-
-span.keyword {
-   color: #a6563a;
-}
-
-a:link {
-       text-decoration: none;
-}
-
-a:hover {
-       text-decoration: underline;
-}
-
-div.code_example {
-   background: #f5f5dd;
-   border: 1px solid #cdcd82;
-   border: 1px solid black;
-   padding-left: 1em;
-   padding-bottom: 1em;
-   margin-top: 1em;
-   font-family: fixed;
-   white-space: pre;
-   margin-bottom: 1em;
-}
-div.code_ex_title {
-   position: relative;
-   top: -1em;
-   left: 30%;
-   background: #cdcd82;
-   border: 1px solid black;
-   color: black;
-   text-transform: uppercase;
-   width: 40%;
-   padding: 0.3em;
-   text-align: center;
-}
-
-span.symbol {
-       font-weight: bolder;
-}
-
-
-span.optional {
-       font-style: italic;
-}
-
-div.note {
-   background: #cdcd82;
-   border: 1px solid black;
-   padding: 1em;
-   margin-top: 1em;
-   margin-bottom: 1em;
-}
diff --git a/mcs/class/monodoc/Resources/helper.js b/mcs/class/monodoc/Resources/helper.js
deleted file mode 100755 (executable)
index 2889c1b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-function toggle_display (block) {\r
-  var w = document.getElementById (block);\r
-  var t = document.getElementById (block + ":toggle");\r
-  if (w.style.display == "none") {\r
-    w.style.display = "block";\r
-               t.getElementsByTagName("img")[0].setAttribute ("src", "xtree/images/clean/Lminus.gif"); // <img src="xtree/images/clean/Lminus.gif">\r
-  } else {\r
-    w.style.display = "none";\r
-               t.getElementsByTagName("img")[0].setAttribute ("src", "xtree/images/clean/Lplus.gif"); // <img src="xtree/images/clean/Lplus.gif">\r
-  }\r
-}\r
-\r
diff --git a/mcs/class/monodoc/Resources/home.html b/mcs/class/monodoc/Resources/home.html
deleted file mode 100644 (file)
index dde2ec9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
-<head>
-<link type="text/css" rel="stylesheet" href="mono-ecma.css"/>
-</head>
-
-<body>
-  <div class="Content">
-       <p>The following documentation collections are available:</p>
-  
-       <div id="docs">
-         <ul>
-           @@API_DOCS@@
-         </ul>
-       </div>
-  </div>
-</body>
-</html>
diff --git a/mcs/class/monodoc/Resources/images/bc_bg.png b/mcs/class/monodoc/Resources/images/bc_bg.png
deleted file mode 100644 (file)
index 6f7bca7..0000000
Binary files a/mcs/class/monodoc/Resources/images/bc_bg.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/bc_separator.png b/mcs/class/monodoc/Resources/images/bc_separator.png
deleted file mode 100644 (file)
index c137258..0000000
Binary files a/mcs/class/monodoc/Resources/images/bc_separator.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/error.png b/mcs/class/monodoc/Resources/images/error.png
deleted file mode 100644 (file)
index 628cf2d..0000000
Binary files a/mcs/class/monodoc/Resources/images/error.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/hatch.png b/mcs/class/monodoc/Resources/images/hatch.png
deleted file mode 100644 (file)
index 33bf2c2..0000000
Binary files a/mcs/class/monodoc/Resources/images/hatch.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/headerbg.png b/mcs/class/monodoc/Resources/images/headerbg.png
deleted file mode 100644 (file)
index 15575da..0000000
Binary files a/mcs/class/monodoc/Resources/images/headerbg.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/help.png b/mcs/class/monodoc/Resources/images/help.png
deleted file mode 100644 (file)
index 5c87017..0000000
Binary files a/mcs/class/monodoc/Resources/images/help.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/house.png b/mcs/class/monodoc/Resources/images/house.png
deleted file mode 100644 (file)
index fed6221..0000000
Binary files a/mcs/class/monodoc/Resources/images/house.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/members.png b/mcs/class/monodoc/Resources/images/members.png
deleted file mode 100644 (file)
index 4a8672b..0000000
Binary files a/mcs/class/monodoc/Resources/images/members.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/namespace.png b/mcs/class/monodoc/Resources/images/namespace.png
deleted file mode 100644 (file)
index 2bc1624..0000000
Binary files a/mcs/class/monodoc/Resources/images/namespace.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privclass.png b/mcs/class/monodoc/Resources/images/privclass.png
deleted file mode 100644 (file)
index bb0c871..0000000
Binary files a/mcs/class/monodoc/Resources/images/privclass.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privdelegate.png b/mcs/class/monodoc/Resources/images/privdelegate.png
deleted file mode 100644 (file)
index a5b470e..0000000
Binary files a/mcs/class/monodoc/Resources/images/privdelegate.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privenumeration.png b/mcs/class/monodoc/Resources/images/privenumeration.png
deleted file mode 100644 (file)
index df2c3c9..0000000
Binary files a/mcs/class/monodoc/Resources/images/privenumeration.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privevent.png b/mcs/class/monodoc/Resources/images/privevent.png
deleted file mode 100644 (file)
index e1d3887..0000000
Binary files a/mcs/class/monodoc/Resources/images/privevent.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privextension.png b/mcs/class/monodoc/Resources/images/privextension.png
deleted file mode 100644 (file)
index d336ddd..0000000
Binary files a/mcs/class/monodoc/Resources/images/privextension.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privfield.png b/mcs/class/monodoc/Resources/images/privfield.png
deleted file mode 100644 (file)
index 0b246cf..0000000
Binary files a/mcs/class/monodoc/Resources/images/privfield.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privinterface.png b/mcs/class/monodoc/Resources/images/privinterface.png
deleted file mode 100644 (file)
index cde4b50..0000000
Binary files a/mcs/class/monodoc/Resources/images/privinterface.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privmethod.png b/mcs/class/monodoc/Resources/images/privmethod.png
deleted file mode 100644 (file)
index d698426..0000000
Binary files a/mcs/class/monodoc/Resources/images/privmethod.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privproperty.png b/mcs/class/monodoc/Resources/images/privproperty.png
deleted file mode 100644 (file)
index 41a008d..0000000
Binary files a/mcs/class/monodoc/Resources/images/privproperty.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/privstructure.png b/mcs/class/monodoc/Resources/images/privstructure.png
deleted file mode 100644 (file)
index ff064e6..0000000
Binary files a/mcs/class/monodoc/Resources/images/privstructure.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protclass.png b/mcs/class/monodoc/Resources/images/protclass.png
deleted file mode 100644 (file)
index 0c32ce0..0000000
Binary files a/mcs/class/monodoc/Resources/images/protclass.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protdelegate.png b/mcs/class/monodoc/Resources/images/protdelegate.png
deleted file mode 100644 (file)
index ca44396..0000000
Binary files a/mcs/class/monodoc/Resources/images/protdelegate.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protenumeration.png b/mcs/class/monodoc/Resources/images/protenumeration.png
deleted file mode 100644 (file)
index 14a4cf3..0000000
Binary files a/mcs/class/monodoc/Resources/images/protenumeration.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protevent.png b/mcs/class/monodoc/Resources/images/protevent.png
deleted file mode 100644 (file)
index 613e88e..0000000
Binary files a/mcs/class/monodoc/Resources/images/protevent.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protextension.png b/mcs/class/monodoc/Resources/images/protextension.png
deleted file mode 100644 (file)
index f350d55..0000000
Binary files a/mcs/class/monodoc/Resources/images/protextension.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protfield.png b/mcs/class/monodoc/Resources/images/protfield.png
deleted file mode 100644 (file)
index 6e08553..0000000
Binary files a/mcs/class/monodoc/Resources/images/protfield.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protinterface.png b/mcs/class/monodoc/Resources/images/protinterface.png
deleted file mode 100644 (file)
index 4579a76..0000000
Binary files a/mcs/class/monodoc/Resources/images/protinterface.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protmethod.png b/mcs/class/monodoc/Resources/images/protmethod.png
deleted file mode 100644 (file)
index 4ecb6ff..0000000
Binary files a/mcs/class/monodoc/Resources/images/protmethod.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protproperty.png b/mcs/class/monodoc/Resources/images/protproperty.png
deleted file mode 100644 (file)
index f79838a..0000000
Binary files a/mcs/class/monodoc/Resources/images/protproperty.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/protstructure.png b/mcs/class/monodoc/Resources/images/protstructure.png
deleted file mode 100644 (file)
index 9b806cc..0000000
Binary files a/mcs/class/monodoc/Resources/images/protstructure.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubclass.png b/mcs/class/monodoc/Resources/images/pubclass.png
deleted file mode 100644 (file)
index 7531558..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubclass.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubdelegate.png b/mcs/class/monodoc/Resources/images/pubdelegate.png
deleted file mode 100644 (file)
index 19368a6..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubdelegate.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubenumeration.png b/mcs/class/monodoc/Resources/images/pubenumeration.png
deleted file mode 100644 (file)
index 9adab41..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubenumeration.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubevent.png b/mcs/class/monodoc/Resources/images/pubevent.png
deleted file mode 100644 (file)
index 7abef63..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubevent.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubextension.png b/mcs/class/monodoc/Resources/images/pubextension.png
deleted file mode 100644 (file)
index 0725306..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubextension.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubfield.png b/mcs/class/monodoc/Resources/images/pubfield.png
deleted file mode 100644 (file)
index c2fc5a2..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubfield.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubinterface.png b/mcs/class/monodoc/Resources/images/pubinterface.png
deleted file mode 100644 (file)
index 050ea99..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubinterface.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubmethod.png b/mcs/class/monodoc/Resources/images/pubmethod.png
deleted file mode 100644 (file)
index 50ad06d..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubmethod.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubproperty.png b/mcs/class/monodoc/Resources/images/pubproperty.png
deleted file mode 100644 (file)
index 2f0ef15..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubproperty.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/pubstructure.png b/mcs/class/monodoc/Resources/images/pubstructure.png
deleted file mode 100644 (file)
index 161f2fc..0000000
Binary files a/mcs/class/monodoc/Resources/images/pubstructure.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/reference.png b/mcs/class/monodoc/Resources/images/reference.png
deleted file mode 100644 (file)
index 9720bf8..0000000
Binary files a/mcs/class/monodoc/Resources/images/reference.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/images/treebg.png b/mcs/class/monodoc/Resources/images/treebg.png
deleted file mode 100644 (file)
index a5588a9..0000000
Binary files a/mcs/class/monodoc/Resources/images/treebg.png and /dev/null differ
diff --git a/mcs/class/monodoc/Resources/mdoc-html-format.xsl b/mcs/class/monodoc/Resources/mdoc-html-format.xsl
deleted file mode 100644 (file)
index 10acd9c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mdoc-html-format.xsl: HTML pass-through formatting support
-
-       Author: Jonathan Pryor (jpryor@novell.com)
-
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       >
-
-       <!-- pass-through any other elements unchanged - they may be HTML -->
-       <xsl:template match="//format[@type='text/html']//*">
-               <xsl:copy>
-                       <xsl:copy-of select="@*" />
-                       <xsl:apply-templates select="*|node()" />
-               </xsl:copy>
-       </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/mcs/class/monodoc/Resources/mdoc-html-utils.xsl b/mcs/class/monodoc/Resources/mdoc-html-utils.xsl
deleted file mode 100644 (file)
index 43983af..0000000
+++ /dev/null
@@ -1,2808 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mdoc-html-utils.xsl: ECMA-style docs to HTML stylesheet transformation utils
-
-       Author: Joshua Tauberer (tauberer@for.net)
-       Author: Jonathan Pryor (jpryor@novell.com)
-
-       This file requires that including files define the following callable
-       templates:
-               - CreateCodeBlock (language, content)
-               - CreateEnumerationTable (content)
-               - CreateHeader (content)
-               - CreateListTable (header, content)
-               - CreateMembersTable (content)
-               - CreateSignature (content)
-               - CreateTypeDocumentationTable (content)
-               - GetLinkTarget (type, cref)
-               - CreateEditLink (e)
-
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:msxsl="urn:schemas-microsoft-com:xslt"
-       exclude-result-prefixes="msxsl"
-       >
-       <xsl:import href="mdoc-html-format.xsl" />
-       
-       <!-- TEMPLATE PARAMETERS -->
-       <xsl:param name="language" select="'C#'"/>
-       <xsl:param name="index" />
-       <xsl:param name="source-id"/>
-       
-       <xsl:variable name="ThisType" select="/Type"/>
-
-       <!-- The namespace that the current type belongs to. -->
-       <xsl:variable name="TypeNamespace" select="substring(/Type/@FullName, 1, string-length(/Type/@FullName) - string-length(/Type/@Name) - 1)"/>            
-
-       <!-- THE MAIN RENDERING TEMPLATE -->
-
-       <!-- TYPE OVERVIEW -->
-               
-       <xsl:template name="CreateTypeOverview">
-               <xsl:param name="implemented" />
-               <xsl:param name="show-members-link" />
-
-               <xsl:attribute name="id">
-                       <xsl:text>T:</xsl:text>
-                       <xsl:call-template name="GetEscapedTypeName">
-                               <xsl:with-param name="typename" select="@FullName" />
-                       </xsl:call-template>
-                       <xsl:text>:Summary</xsl:text>
-               </xsl:attribute>
-               <!-- summary -->
-               <div class="msummary">
-               <xsl:apply-templates select="Docs/summary" mode="notoppara"/>
-               <xsl:apply-templates select="Docs/summary" mode="editlink"/>
-               </div>
-
-               <xsl:if test="$implemented">
-                       <p><b>Mono Implementation Note: </b></p>
-                       <blockquote>
-                               <xsl:value-of disable-output-escaping="yes" select="$implemented"/>
-                       </blockquote>
-               </xsl:if>
-
-               <xsl:if test="$show-members-link and not(Base/BaseTypeName='System.Enum' or Base/BaseTypeName='System.Delegate' or Base/BaseTypeName='System.MulticastDelegate') and count(Members)">
-                       <p>
-                               See Also:
-                               <a>
-                                       <xsl:attribute name="href">
-                                               <xsl:text>T</xsl:text>
-                                               <xsl:call-template name="GetLinkId">
-                                                       <xsl:with-param name="type" select="." />
-                                                       <xsl:with-param name="member" select="." />
-                                               </xsl:call-template>
-                                               <xsl:text>/*</xsl:text>
-                                       </xsl:attribute>
-                                       <xsl:value-of select="translate(@Name, '+', '.')"/>
-                                       <xsl:value-of select="' '" />
-                                       <xsl:text>Members</xsl:text>
-                               </a>
-                       </p>
-               </xsl:if>
-               
-               <!--
-               Inheritance tree, but only for non-standard classes and not for interfaces
-               -->
-               <xsl:if test="not(Base/BaseTypeName='System.Enum' or Base/BaseTypeName='System.Delegate' or Base/BaseTypeName='System.ValueType' or Base/BaseTypeName='System.Object' or Base/BaseTypeName='System.MulticatDelegate' or count(Base/ParentType)=0)">
-                       <p>
-                       <xsl:for-each select="Base/ParentType">
-                               <xsl:sort select="@Order" order="descending"/>
-                               <xsl:variable name="p" select="position()" />
-                               <xsl:for-each select="parent::Base/ParentType[position() &lt; $p]">
-                                       <xsl:value-of select="'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'" disable-output-escaping="yes"/>
-                               </xsl:for-each>
-                               <a>
-                                       <xsl:attribute name="href">
-                                               <xsl:call-template name="GetLinkTargetHtml">
-                                                       <xsl:with-param name="type" select="@Type" />
-                                                       <xsl:with-param name="cref">
-                                                               <xsl:text>T:</xsl:text>
-                                                               <xsl:call-template name="GetEscapedTypeName">
-                                                                       <xsl:with-param name="typename" select="@Type" />
-                                                               </xsl:call-template>
-                                                       </xsl:with-param>
-                                               </xsl:call-template>
-                                       </xsl:attribute>
-                                       <xsl:value-of select="@Type"/>
-                               </a>
-                               <br/>
-                       </xsl:for-each>
-
-                       <xsl:for-each select="Base/ParentType">
-                               <xsl:value-of select="'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'" disable-output-escaping="yes"/>
-                       </xsl:for-each>
-                       <xsl:value-of select="@FullName"/>
-                       </p>
-               </xsl:if>
-               <!--
-               <xsl:if test="Base/BaseTypeName='System.Enum'">
-                       <br/>
-                       The type of the values in this enumeration is 
-                       <xsl:apply-templates select="Members/Member[@MemberName='value__']/ReturnValue/ReturnType" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates>.
-               </xsl:if>
-               -->
-       </xsl:template>
-
-       <xsl:template name="CreateTypeSignature">
-                       <xsl:call-template name="CreateSignature">
-                           <xsl:with-param name="id">
-                                 <xsl:text>T:</xsl:text>
-                                 <xsl:call-template name="GetEscapedTypeName">
-                                       <xsl:with-param name="typename" select="@FullName" />
-                                 </xsl:call-template>
-                                 <xsl:text>:Signature</xsl:text>
-                               </xsl:with-param>
-                               <xsl:with-param name="content">
-                       <!-- signature -->
-                                       <xsl:choose>
-                                       <xsl:when test="$language='C#'">
-
-                                               <xsl:for-each select="Attributes/Attribute">
-                                                       <xsl:text>[</xsl:text>
-                                                       <xsl:value-of select="AttributeName"/>
-                                                       <xsl:text>]</xsl:text>
-                                                       <br/>
-                                               </xsl:for-each>
-
-                                               <xsl:for-each select="ReturnValue/Attributes/Attribute">
-                                                       <xsl:text>[return:</xsl:text>
-                                                       <xsl:value-of select="AttributeName"/>
-                                                       <xsl:text>]</xsl:text>
-                                                       <br/>
-                                               </xsl:for-each> 
-       
-                                               <xsl:choose>
-
-                                               <xsl:when test="Base/BaseTypeName='System.Enum'">
-                                                       <xsl:call-template name="getmodifiers">
-                                                               <xsl:with-param name="sig" select="TypeSignature[@Language='C#']/@Value"/>
-                                                       </xsl:call-template>
-
-                                                       <xsl:text>enum </xsl:text>
-       
-                                                       <!-- member name, argument list -->
-                                                       <b>
-                                                       <xsl:value-of select="translate (@Name, '+', '.')"/>
-                                                       </b>
-                                               </xsl:when>
-       
-                                               <xsl:when test="Base/BaseTypeName='System.Delegate' or Base/BaseTypeName='System.MulticastDelegate'">
-                                                       <xsl:choose>
-
-                                                       <xsl:when test="count(Parameters) &gt; 0 and count(ReturnValue) &gt; 0">
-                                                       <!-- Only recreate the delegate signature if the appropriate information
-                                                               is present in the XML file. -->
-
-                                                       <xsl:call-template name="getmodifiers">
-                                                               <xsl:with-param name="sig" select="TypeSignature[@Language='C#']/@Value"/>
-                                                       </xsl:call-template>
-
-                                                       <xsl:text>delegate </xsl:text>
-       
-                                                       <xsl:apply-templates select="ReturnValue/ReturnType" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates>
-       
-                                                       <!-- hard space -->
-                                                       <xsl:value-of select="' '"/>
-       
-                                                       <!-- member name, argument list -->
-                                                       <b>
-                                                               <xsl:call-template name="GetDefinitionName">
-                                                                       <xsl:with-param name="name" select="translate (@Name, '+', '.')" />
-                                                                       <xsl:with-param name="TypeParameters" select="TypeParameters" />
-                                                               </xsl:call-template>
-                                                       </b>
-
-                                                       <!-- hard space -->
-                                                       <xsl:value-of select="' '"/>
-
-                                                       <xsl:value-of select="'('"/> <!-- prevents whitespace issues -->
-                                                       
-                                                       <xsl:for-each select="Parameters/Parameter">
-                                                               <xsl:call-template name="ShowParameter">
-                                                                       <xsl:with-param name="Param" select="."/>
-                                                                       <xsl:with-param name="TypeNamespace" select="$TypeNamespace"/>
-                                                               </xsl:call-template>
-
-                                                               <xsl:if test="not(position()=last())">, </xsl:if>
-                                                       </xsl:for-each>
-                                                       
-                                                       <xsl:value-of select="')'"/>
-
-                                                       </xsl:when>
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:apply-templates select="TypeSignature[@Language=$language]/@Value"/>       
-                                                       </xsl:otherwise>
-
-                                                       </xsl:choose>
-
-                                                       
-                                               </xsl:when>
-
-                                               <xsl:otherwise>
-                                                       <xsl:call-template name="getmodifiers">
-                                                               <xsl:with-param name="sig" select="TypeSignature[@Language='C#']/@Value"/>
-                                                               <xsl:with-param name="typetype" select="true()"/>
-                                                       </xsl:call-template>
-               
-                                                       <xsl:value-of select="' '"/>
-               
-                                                       <b>
-                                                               <xsl:call-template name="GetDefinitionName">
-                                                                       <xsl:with-param name="name" select="translate (@Name, '+', '.')" />
-                                                                       <xsl:with-param name="TypeParameters" select="TypeParameters" />
-                                                               </xsl:call-template>
-                                                       </b>
-               
-                                                       <xsl:variable name="HasStandardBaseType" select="Base/BaseTypeName='System.Object' or Base/BaseTypeName='System.ValueType'"/>
-                                                       <xsl:variable name="HasBaseType" select="count(Base/BaseTypeName)>0"/>
-                                                       <xsl:if test="(($HasBaseType) and not($HasStandardBaseType)) or not(count(Interfaces/Interface)=0)">
-                                                               <xsl:text> : </xsl:text>
-               
-                                                               <xsl:if test="$HasBaseType and not($HasStandardBaseType)">
-                                                                       <xsl:apply-templates select="Base/BaseTypeName" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates>
-                                                                       <xsl:if test="not(count(Interfaces/Interface)=0)">,     </xsl:if>
-                                                               </xsl:if>
-               
-                                                               <xsl:for-each select="Interfaces/Interface">
-                                                                       <xsl:if test="not(position()=1)">, </xsl:if>
-                                                                       <xsl:apply-templates select="InterfaceName" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates>
-                                                               </xsl:for-each>
-                                                       
-                                                       </xsl:if>
-                                               </xsl:otherwise>
-
-                                               </xsl:choose>
-
-                                               <xsl:call-template name="CreateGenericConstraints">
-                                                       <xsl:with-param name="TypeParameters" select="TypeParameters" />
-                                               </xsl:call-template>
-
-                                       </xsl:when>
-
-                                       <xsl:otherwise>
-                                               <xsl:apply-templates select="TypeSignature[@Language=$language]/@Value"/>
-                                       </xsl:otherwise>
-                                       
-                                       </xsl:choose>
-                               </xsl:with-param>
-                       </xsl:call-template>
-       </xsl:template>
-
-       <xsl:template name="GetDefinitionName">
-               <xsl:param name="name" />
-               <xsl:param name="TypeParameters" />
-
-               <xsl:choose>
-                       <!-- do NOT process explicitly implemented generic interface members
-                            unless they're actually generic methods. -->
-                       <xsl:when test="contains ($name, '&gt;') and
-                                       '&gt;' = substring ($name, string-length ($name), 1)">
-                               <xsl:value-of select="substring-before ($name, '&lt;')" />
-                               <xsl:text>&lt;</xsl:text>
-                               <xsl:for-each select="$TypeParameters/TypeParameter">
-                                       <xsl:for-each select="Attributes/Attribute">
-                                               <xsl:text>[</xsl:text>
-                                               <xsl:value-of select="AttributeName"/>
-                                               <xsl:text>] </xsl:text>
-                                       </xsl:for-each>
-                                       <xsl:choose>
-                                               <xsl:when test="@Name">
-                                                       <xsl:value-of select="@Name" />
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <xsl:value-of select="." />
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                                       <xsl:if test="not(position()=last())">, </xsl:if>
-                               </xsl:for-each>
-                               <xsl:text>&gt;</xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$name" />
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="CreateGenericConstraints">
-               <xsl:param name="TypeParameters" />
-
-               <xsl:for-each select="$TypeParameters/TypeParameter">
-                       <xsl:variable name="constraintsCount" select="count(Constraints/*)" />
-                       <xsl:if test="$constraintsCount > 0 and count(Constraints/*[.='Contravariant' or .='Covariant']) != $constraintsCount">
-                               <xsl:call-template name="CreateGenericParameterConstraints">
-                                       <xsl:with-param name="constraints" select="Constraints" />
-                               </xsl:call-template>
-                       </xsl:if>
-               </xsl:for-each>
-       </xsl:template>
-
-       <xsl:template name="CreateGenericParameterConstraints">
-               <xsl:param name="constraints" />
-
-               <br />
-               <xsl:text> where </xsl:text>
-               <xsl:value-of select="@Name" />
-               <xsl:text> : </xsl:text>
-               <xsl:variable name="kind" 
-                       select="count($constraints[ParameterAttribute='ReferenceTypeConstraint'])+
-                               count($constraints[ParameterAttribute='NotNullableValueTypeConstraint'])" />
-               <xsl:variable name="base" select="count($constraints/BaseTypeName)" />
-               <xsl:variable name="iface" select="count($constraints/InterfaceName)" />
-               <xsl:variable name="struct" select="$constraints/ParameterAttribute='NotNullableValueTypeConstraint'" />
-               <xsl:if test="$constraints/ParameterAttribute='ReferenceTypeConstraint'">
-                       <xsl:text>class</xsl:text>
-               </xsl:if>
-               <xsl:if test="$constraints/ParameterAttribute='NotNullableValueTypeConstraint'">
-                       <xsl:text>struct</xsl:text>
-               </xsl:if>
-               <xsl:if test="$constraints/BaseTypeName and not($struct)">
-                       <xsl:if test="$kind">, </xsl:if>
-                       <xsl:apply-templates select="$constraints/BaseTypeName" mode="typelink" />
-               </xsl:if>
-               <xsl:for-each select="$constraints/InterfaceName">
-                       <xsl:if test="position()=1">
-                               <xsl:if test="$kind or $base">, </xsl:if>
-                       </xsl:if>
-                       <xsl:apply-templates select="." mode="typelink" />
-                       <xsl:if test="not(position()=last())">, </xsl:if>
-               </xsl:for-each>
-               <xsl:if test="$constraints/ParameterAttribute='DefaultConstructorConstraint' and not($struct)">
-                       <xsl:if test="$base or $iface">, </xsl:if>
-                       <xsl:text>new()</xsl:text>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="CreateMemberOverview">
-               <xsl:param name="implemented" />
-
-               <div class="msummary">
-                       <xsl:apply-templates select="Docs/summary" mode="notoppara"/>
-                       <xsl:apply-templates select="Docs/summary" mode="editlink"/>
-               </div>
-               
-               <xsl:if test="$implemented">
-                       <p><b>Mono Implementation Note: </b></p>
-                       <blockquote>
-                               <xsl:value-of disable-output-escaping="yes" select="$implemented"/>
-                       </blockquote>
-               </xsl:if>
-
-               <!-- member value -->
-               <xsl:if test="MemberValue">
-               <p><b>Value: </b>
-                       <xsl:value-of select="MemberValue"/>
-               </p>
-               </xsl:if>
-
-       </xsl:template>
-
-       <xsl:template name="CreateRelatedSection">
-         <xsl:param name="section" />
-         <xsl:param name="type" />
-         <xsl:if test="count(Docs/related[@type=$type])">
-               <h3 class="{$type}"><xsl:value-of select="$section" /></h3>
-               <ul class="{$type}">
-                 <xsl:for-each select="Docs/related[@type=$type]">
-                       <li><a href="{@href}" target="_blank"><xsl:value-of select="." /></a></li>
-                 </xsl:for-each>
-               </ul>
-         </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="CreatePlatformRequirements">
-         <!-- For now we only have that information in MonoTouch so only process that -->
-         <xsl:if test="starts-with(/Type/@FullName, 'MonoTouch')">
-               <xsl:choose>
-                 <!-- We first check if we have a [Since] at the member level -->
-                 <xsl:when test="count(Attributes/Attribute/AttributeName[starts-with(text(), 'MonoTouch.ObjCRuntime.Since')])">
-                       <b>Minimum iOS version: </b>
-                       <xsl:value-of select="translate(substring-before (substring-after (Attributes/Attribute/AttributeName[starts-with(text(), 'MonoTouch.ObjCRuntime.Since')], 'MonoTouch.ObjCRuntime.Since('), ')'), ', ', '.')" />
-                       <br />
-                 </xsl:when>
-                 <!-- If not, we then check at the type level -->
-                 <xsl:when test="count(/Type/Attributes/Attribute/AttributeName[starts-with(text(), 'MonoTouch.ObjCRuntime.Since')])">
-                       <b>Minimum iOS version: </b> 
-                       <xsl:value-of select="translate(substring-before (substring-after (/Type/Attributes/Attribute/AttributeName[starts-with(text(), 'MonoTouch.ObjCRuntime.Since')], 'MonoTouch.ObjCRuntime.Since('), ')'), ', ', '.')" />
-                       <br />
-                 </xsl:when>
-               </xsl:choose>
-         </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="CreateMemberSignature">
-               <xsl:param name="linkid" select="''" />
-
-               <xsl:call-template name="CreateSignature">
-                       <xsl:with-param name="content">
-                       <xsl:if test="contains(MemberSignature[@Language='C#']/@Value,'this[')">
-                               <p><i>This is the default property for this class.</i></p>
-                       </xsl:if>
-
-                       <!-- recreate the signature -->
-               
-                       <xsl:for-each select="Attributes/Attribute[AttributeName != 'System.Runtime.CompilerServices.Extension']">
-                               <xsl:text>[</xsl:text>
-                               <xsl:value-of select="AttributeName"/>
-                               <xsl:text>]</xsl:text>
-                               <br/>
-                       </xsl:for-each> 
-
-                       <xsl:for-each select="ReturnValue/Attributes/Attribute">
-                               <xsl:text>[return:</xsl:text>
-                               <xsl:value-of select="AttributeName"/>
-                               <xsl:text>]</xsl:text>
-                               <br/>
-                       </xsl:for-each> 
-
-                       <xsl:call-template name="getmodifiers">
-                               <xsl:with-param name="sig" select="MemberSignature[@Language='C#']/@Value"/>
-                       </xsl:call-template>
-
-                       <xsl:if test="MemberType = 'Event'">
-                               <xsl:text>event </xsl:text>
-
-                               <xsl:if test="ReturnValue/ReturnType=''">
-                                       <xsl:value-of select="substring-before(substring-after(MemberSignature[@Language='C#']/@Value, 'event '), concat(' ', @MemberName))"/>
-                               </xsl:if>
-                       </xsl:if>
-
-                       <!-- return value (comes out "" where not applicable/available) -->
-                       <xsl:choose>
-                       <xsl:when test="@MemberName='op_Implicit'">
-                               <xsl:text>implicit operator</xsl:text>
-                       </xsl:when>
-                       <xsl:when test="@MemberName='op_Explicit'">
-                               <xsl:text>explicit operator</xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:apply-templates select="ReturnValue/ReturnType" mode="typelink">
-                                       <xsl:with-param name="wrt" select="$TypeNamespace"/>
-                               </xsl:apply-templates>
-                       </xsl:otherwise>                                        
-                       </xsl:choose>
-
-                       <!-- hard space -->
-                       <xsl:value-of select="' '"/>
-
-                       <!-- member name -->
-                       <xsl:choose>
-                       
-                       <!-- Constructors get the name of the class -->
-                       <xsl:when test="MemberType='Constructor'">
-                               <b>
-                                       <xsl:call-template name="GetConstructorName">
-                                               <xsl:with-param name="type" select="../.." />
-                                               <xsl:with-param name="ctor" select="." />
-                                       </xsl:call-template>
-                               </b>
-                       </xsl:when>
-                       
-                       <!-- Conversion operators get the return type -->
-                       <xsl:when test="@MemberName='op_Implicit' or @MemberName='op_Explicit'">
-                               <xsl:apply-templates select="ReturnValue/ReturnType" mode="typelink">
-                                       <xsl:with-param name="wrt" select="$TypeNamespace"/>
-                               </xsl:apply-templates>
-                       </xsl:when>
-                       
-                       <!-- Regular operators get their symbol -->
-                       <xsl:when test="@MemberName='op_UnaryPlus'">operator+</xsl:when>
-                       <xsl:when test="@MemberName='op_UnaryNegation'">operator-</xsl:when>
-                       <xsl:when test="@MemberName='op_LogicalNot'">operator!</xsl:when>
-                       <xsl:when test="@MemberName='op_OnesComplement'">operator~</xsl:when>
-                       <xsl:when test="@MemberName='op_Increment'">operator++</xsl:when>
-                       <xsl:when test="@MemberName='op_Decrement'">operator--</xsl:when>
-                       <xsl:when test="@MemberName='op_True'">operator true</xsl:when>
-                       <xsl:when test="@MemberName='op_False'">operator false</xsl:when>
-                       <xsl:when test="@MemberName='op_Addition'">operator+</xsl:when>
-                       <xsl:when test="@MemberName='op_Subtraction'">operator-</xsl:when>
-                       <xsl:when test="@MemberName='op_Multiply'">operator*</xsl:when>
-                       <xsl:when test="@MemberName='op_Division'">operator/</xsl:when>
-                       <xsl:when test="@MemberName='op_Modulus'">operator%</xsl:when>
-                       <xsl:when test="@MemberName='op_BitwiseAnd'">operator&amp;</xsl:when>
-                       <xsl:when test="@MemberName='op_BitwiseOr'">operator|</xsl:when>
-                       <xsl:when test="@MemberName='op_ExclusiveOr'">operator^</xsl:when>
-                       <xsl:when test="@MemberName='op_LeftShift'">operator&lt;&lt;</xsl:when>
-                       <xsl:when test="@MemberName='op_RightShift'">operator&gt;&gt;</xsl:when>
-                       <xsl:when test="@MemberName='op_Equality'">operator==</xsl:when>
-                       <xsl:when test="@MemberName='op_Inequality'">operator!=</xsl:when>
-                       <xsl:when test="@MemberName='op_GreaterThan'">operator&gt;</xsl:when>
-                       <xsl:when test="@MemberName='op_LessThan'">operator&lt;</xsl:when>
-                       <xsl:when test="@MemberName='op_GreaterThanOrEqual'">operator&gt;=</xsl:when>
-                       <xsl:when test="@MemberName='op_LessThanOrEqual'">operator&lt;=</xsl:when>
-
-                       <xsl:when test="MemberType='Property' and count(Parameters/Parameter) &gt; 0">
-                               <!-- C# only permits indexer properties to have arguments -->
-                               <xsl:text>this</xsl:text>
-                       </xsl:when>
-                       
-                       <!-- Everything else just gets its name -->
-                       <xsl:when test="contains (@MemberName, '&lt;')">
-                               <b>
-                                       <xsl:call-template name="GetDefinitionName">
-                                               <xsl:with-param name="name" select="@MemberName" />
-                                               <xsl:with-param name="TypeParameters" select="TypeParameters" />
-                                       </xsl:call-template>
-                               </b>
-                       </xsl:when>
-
-                       <xsl:otherwise>
-                               <b><xsl:value-of select="@MemberName"/></b>
-                       </xsl:otherwise>
-                       </xsl:choose>
-
-                       <!-- hard space -->
-                       <xsl:value-of select="' '"/>
-
-                       <!-- argument list -->
-                       <xsl:if test="MemberType='Method' or MemberType='Constructor' or (MemberType='Property' and count(Parameters/Parameter))">
-                               <xsl:if test="not(MemberType='Property')">(</xsl:if>
-                               <xsl:if test="MemberType='Property'">[</xsl:if>
-
-                               <xsl:for-each select="Parameters/Parameter">
-                                       <xsl:call-template name="ShowParameter">
-                                               <xsl:with-param name="Param" select="."/>
-                                               <xsl:with-param name="TypeNamespace" select="$TypeNamespace"/>
-                                       </xsl:call-template>
-
-                                       <xsl:if test="not(position()=last())">, </xsl:if>
-                               </xsl:for-each>
-                               <xsl:if test="not(MemberType='Property')">)</xsl:if>
-                               <xsl:if test="MemberType='Property'">]</xsl:if>
-                       </xsl:if>
-
-                       <xsl:if test="MemberType='Property'">
-                               <xsl:value-of select="' '"/>
-                               <xsl:text>{</xsl:text>
-                               <xsl:value-of select="substring-before(substring-after(MemberSignature[@Language='C#']/@Value, '{'), '}')"/>
-                               <xsl:text>}</xsl:text>
-                       </xsl:if>
-                       <xsl:call-template name="CreateGenericConstraints">
-                               <xsl:with-param name="TypeParameters" select="TypeParameters" />
-                       </xsl:call-template>
-                       </xsl:with-param>
-               </xsl:call-template>
-               
-       </xsl:template>
-
-       <xsl:template name="GetConstructorName">
-               <xsl:param name="type" />
-               <xsl:param name="ctor" />
-
-               <xsl:choose>
-                       <xsl:when test="contains($type/@Name, '&lt;')">
-                               <xsl:value-of select="translate (substring-before ($type/@Name, '&lt;'), '+', '.')" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="translate ($type/@Name, '+', '.')" />
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="ShowParameter">
-               <xsl:param name="Param"/>
-               <xsl:param name="TypeNamespace"/>
-               <xsl:param name="prototype" select="false()"/>
-
-               <xsl:if test="not($prototype)">
-                       <xsl:for-each select="$Param/Attributes/Attribute[not(Exclude='1') and not(AttributeName='ParamArrayAttribute' or AttributeName='System.ParamArray')]">
-                               <xsl:text>[</xsl:text>
-                               <xsl:value-of select="AttributeName"/>
-                               <xsl:text>]</xsl:text>
-                               <xsl:value-of select="' '"/>
-                       </xsl:for-each>
-               </xsl:if>
-
-               <xsl:if test="count($Param/Attributes/Attribute/AttributeName[.='ParamArrayAttribute' or .='System.ParamArray'])">
-                       <b>params</b>
-                       <xsl:value-of select="' '"/>
-               </xsl:if>
-
-               <xsl:if test="$Param/@RefType">
-                       <i><xsl:value-of select="$Param/@RefType"/></i>
-                       <!-- hard space -->
-                       <xsl:value-of select="' '"/>
-               </xsl:if>
-
-               <!-- parameter type link -->
-               <xsl:apply-templates select="$Param/@Type" mode="typelink">
-                       <xsl:with-param name="wrt" select="$TypeNamespace"/>
-               </xsl:apply-templates>
-
-               <xsl:if test="not($prototype)">
-                       <!-- hard space -->
-                       <xsl:value-of select="' '"/>
-       
-                       <!-- parameter name -->
-                       <xsl:value-of select="$Param/@Name"/>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="DisplayDocsInformation">
-               <xsl:param name="linkid" />
-
-               <!-- The namespace that the current type belongs to. -->
-               <xsl:variable name="TypeNamespace" select="substring(@FullName, 1, string-length(@FullName) - string-length(@Name) - 1)"/>
-
-               <!-- alt member: not sure what these are for, actually -->
-
-               <xsl:if test="count(Docs/altmember)">
-                       <xsl:call-template name="CreateH4Section">
-                               <xsl:with-param name="name" select="'See Also'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':See Also')" />
-                               <xsl:with-param name="content">
-                                       <xsl:for-each select="Docs/altmember">
-                                               <div><xsl:apply-templates select="@cref" mode="cref"/></div>
-                                       </xsl:for-each>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-               <!-- parameters & return & value -->
-
-               <xsl:if test="count(Docs/typeparam)">
-                       <xsl:call-template name="CreateH4Section">
-                               <xsl:with-param name="name" select="'Type Parameters'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Type Parameters')" />
-                               <xsl:with-param name="content">
-                                       <dl>
-                                       <xsl:for-each select="Docs/typeparam">
-                                               <dt><i><xsl:value-of select="@name"/></i></dt>
-                                               <dd>
-                                                       <xsl:apply-templates select="." mode="notoppara"/>
-                                                       <xsl:apply-templates select="." mode="editlink"/>
-                                               </dd>
-                                       </xsl:for-each>
-                                       </dl>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-               <xsl:if test="count(Docs/param)">
-                       <xsl:call-template name="CreateH4Section">
-                               <xsl:with-param name="name" select="'Parameters'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Parameters')" />
-                               <xsl:with-param name="content">
-                                       <dl>
-                                       <xsl:for-each select="Docs/param">
-                                               <dt><i><xsl:value-of select="@name"/></i></dt>
-                                               <dd>
-                                                       <xsl:apply-templates select="." mode="notoppara"/>
-                                                       <xsl:apply-templates select="." mode="editlink"/>
-                                               </dd>
-                                       </xsl:for-each>
-                                       </dl>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-               <xsl:if test="count(Docs/returns)">
-                       <xsl:call-template name="CreateH4Section">
-                               <xsl:with-param name="name" select="'Returns'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Returns')" />
-                               <xsl:with-param name="content">
-                                       <xsl:apply-templates select="Docs/returns" mode="notoppara"/>
-                                       <xsl:apply-templates select="Docs/returns" mode="editlink"/>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-               <xsl:if test="count(Docs/value)">
-                       <xsl:call-template name="CreateH4Section">
-                               <xsl:with-param name="name" select="'Value'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Value')" />
-                               <xsl:with-param name="content">
-                                       <xsl:apply-templates select="Docs/value" mode="notoppara"/>
-                                       <xsl:apply-templates select="Docs/value" mode="editlink"/>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-               <!-- method/property/constructor exceptions -->
-
-               <xsl:if test="count(Docs/exception)">
-                       <xsl:call-template name="CreateH4Section">
-                               <xsl:with-param name="name" select="'Exceptions'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Exceptions')" />
-                               <xsl:with-param name="content">
-                                       <xsl:call-template name="CreateTypeDocumentationTable">
-                                       <xsl:with-param name="content">
-                                       <xsl:for-each select="Docs/exception">
-                                               <tr valign="top">
-                                               <td>
-                                                       <xsl:apply-templates select="@cref" mode="typelink">
-                                                               <xsl:with-param name="wrt" select="$TypeNamespace"/>
-                                                       </xsl:apply-templates>
-                                               </td>
-                                               <td>
-                                                       <xsl:apply-templates select="." mode="notoppara"/>
-                                                       <xsl:apply-templates select="." mode="editlink"/>
-                                               </td>
-                                               </tr>
-                                       </xsl:for-each>
-                                       </xsl:with-param>
-                                       </xsl:call-template>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-               <!-- remarks -->
-
-               <xsl:if test="count(Docs/remarks)">
-                       <xsl:call-template name="CreateH2Section">
-                               <xsl:with-param name="name" select="'Remarks'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Remarks')" />
-                               <xsl:with-param name="content">
-                                       <xsl:apply-templates select="Docs/remarks" mode="notoppara"/>
-                                       <xsl:apply-templates select="Docs/remarks" mode="editlink"/>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-               <!-- thread safety -->
-
-               <xsl:if test="count(ThreadingSafetyStatement)">
-                       <xsl:call-template name="CreateH2Section">
-                               <xsl:with-param name="name" select="'Thread Safety'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Thread Safety')" />
-                               <xsl:with-param name="content">
-                                       <xsl:apply-templates select="ThreadingSafetyStatement" mode="notoppara"/>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-
-               <!-- permissions -->
-
-               <xsl:if test="count(Docs/permission)">
-                       <xsl:call-template name="CreateH2Section">
-                               <xsl:with-param name="name" select="'Permissions'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Permissions')" />
-                               <xsl:with-param name="content">
-                                       <xsl:call-template name="CreateTypeDocumentationTable">
-                                       <xsl:with-param name="content">
-                                       <xsl:for-each select="Docs/permission">
-                                               <tr valign="top">
-                                               <td>
-                                                       <xsl:apply-templates select="@cref" mode="typelink">
-                                                               <xsl:with-param name="wrt" select="$TypeNamespace"/>
-                                                       </xsl:apply-templates>
-                                                       <xsl:apply-templates select="." mode="editlink"/>
-                                               </td>
-                                               <td>
-                                                       <xsl:apply-templates select="." mode="notoppara"/>
-                                               </td>
-                                               </tr>
-                                       </xsl:for-each>
-                                       </xsl:with-param>
-                                       </xsl:call-template>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-               <!-- enumeration values -->
-
-               <xsl:if test="Base/BaseTypeName = 'System.Enum'">
-                       <xsl:call-template name="CreateH2Section">
-                               <xsl:with-param name="name" select="'Members'"/>
-                               <xsl:with-param name="child-id" select="concat ($linkid, ':Members')" />
-                               <xsl:with-param name="content">
-                                       <xsl:call-template name="CreateEnumerationTable">
-                                       <xsl:with-param name="content">
-
-                                               <xsl:for-each select="Members/Member[MemberType='Field']">
-                                                       <xsl:if test="not(@MemberName='value__')">
-                                                               <tr valign="top"><td>
-                                                                       <xsl:attribute name="id">
-                                                                               <xsl:text>F:</xsl:text>
-                                                                               <xsl:value-of select="translate (/Type/@FullName, '+', '.')" />
-                                                                               <xsl:text>.</xsl:text>
-                                                                               <xsl:value-of select="@MemberName" />
-                                                                       </xsl:attribute>
-                                                                       <b>
-                                                                               <xsl:value-of select="@MemberName"/>
-                                                                       </b>
-                                                               </td>
-                                                               <td>
-                                                                       <xsl:apply-templates select="Docs/summary" mode="notoppara"/>
-                                                                       <xsl:apply-templates select="Docs/summary" mode="editlink"/>
-                                                               </td>
-                                                               </tr>
-                                                       </xsl:if>
-                                               </xsl:for-each>
-                                       </xsl:with-param>
-                                       </xsl:call-template>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-
-               <!-- examples -->
-
-               <xsl:if test="count(Docs/example)">
-                       <xsl:for-each select="Docs/example">
-                               <xsl:call-template name="CreateH2Section">
-                                       <xsl:with-param name="name" select="'Example'"/>
-                                       <xsl:with-param name="child-id" select="concat ($linkid, ':Example:', position())" />
-                                       <xsl:with-param name="content">
-                                               <xsl:apply-templates select="." mode="notoppara"/>
-                                       </xsl:with-param>
-                               </xsl:call-template>
-                       </xsl:for-each>
-               </xsl:if>
-
-               <!-- related content -->
-               <xsl:if test="count(Docs/related)">
-                 <xsl:call-template name="CreateH2Section">
-                       <xsl:with-param name="name" select="'Related content'" />
-                       <xsl:with-param name="child-id" select="concat ($linkid, ':Related:')" />
-                       <xsl:with-param name="content">
-                         <div class="related">
-                               <xsl:call-template name="CreateRelatedSection">
-                                 <xsl:with-param name="section" select="'Platform Docs'" />
-                                 <xsl:with-param name="type" select="'PlatformDocAPI'" />
-                               </xsl:call-template>
-                               <xsl:call-template name="CreateRelatedSection">
-                                 <xsl:with-param name="section" select="'Articles'" />
-                                 <xsl:with-param name="type" select="'article'" />
-                               </xsl:call-template>
-                               <xsl:call-template name="CreateRelatedSection">
-                                 <xsl:with-param name="section" select="'Recipes'" />
-                                 <xsl:with-param name="type" select="'recipe'" />
-                               </xsl:call-template>
-                               <xsl:call-template name="CreateRelatedSection">
-                                 <xsl:with-param name="section" select="'Samples'" />
-                                 <xsl:with-param name="type" select="'sample'" />
-                               </xsl:call-template>
-                               <xsl:call-template name="CreateRelatedSection">
-                                 <xsl:with-param name="section" select="'Related specifications'" />
-                                 <xsl:with-param name="type" select="'specification'" />
-                               </xsl:call-template>
-                               <xsl:call-template name="CreateRelatedSection">
-                                 <xsl:with-param name="section" select="'External Documentation'" />
-                                 <xsl:with-param name="type" select="'externalDocumentation'" />
-                               </xsl:call-template>
-                         </div>
-                       </xsl:with-param>
-                 </xsl:call-template>
-               </xsl:if>
-
-               <xsl:call-template name="CreateH2Section">
-                       <xsl:with-param name="name" select="'Requirements'"/>
-                       <xsl:with-param name="child-id" select="concat ($linkid, ':Version Information')" />
-                       <xsl:with-param name="content">
-                               <xsl:call-template name="CreatePlatformRequirements" />
-                               <b>Namespace: </b><xsl:value-of select="substring(/Type/@FullName, 1, string-length(/Type/@FullName) - string-length(/Type/@Name) - 1)" />
-                               <xsl:if test="count(/Type/AssemblyInfo/AssemblyName) &gt; 0">
-                                       <br />
-                                       <b>Assembly: </b>
-                                       <xsl:value-of select="/Type/AssemblyInfo/AssemblyName" />
-                                       <xsl:text> (in </xsl:text>
-                                       <xsl:value-of select="/Type/AssemblyInfo/AssemblyName" />
-                                       <xsl:text>.dll)</xsl:text>
-                               </xsl:if>
-                               <xsl:if test="count(AssemblyInfo/AssemblyVersion) &gt; 0">
-                                       <br />
-                                       <b>Assembly Versions: </b>
-                                       <xsl:for-each select="AssemblyInfo/AssemblyVersion">
-                                               <xsl:if test="not(position()=1)">, </xsl:if>
-                                                       <xsl:value-of select="."/>
-                                       </xsl:for-each>
-                               </xsl:if>
-                               <xsl:if test="count(Docs/since) &gt; 0">
-                                       <br />
-                                       <b>Since: </b>
-                                       <xsl:for-each select="Docs/since">
-                                               <xsl:if test="not(position()=1)">; </xsl:if>
-                                                       <xsl:value-of select="@version"/>
-                                       </xsl:for-each>
-                               </xsl:if>
-                               <xsl:if test="count(Docs/since)=0 and count(/Type/Docs/since) &gt; 0">
-                                       <br />
-                                       <b>Since: </b>
-                                       <xsl:for-each select="/Type/Docs/since">
-                                               <xsl:if test="not(position()=1)">; </xsl:if>
-                                                       <xsl:value-of select="@version"/>
-                                       </xsl:for-each>
-                               </xsl:if>
-                       </xsl:with-param>
-               </xsl:call-template>
-       </xsl:template>
-
-       
-       <!-- Transforms the contents of the selected node into a hyperlink to the type named by the node.  The node can contain a type name (eg System.Object) or a type link (eg T:System.String). Use wrt parameter to specify the current namespace. -->
-
-       <xsl:template match="*|@*" mode="typelink">
-               <xsl:param name="wrt" select="'notset'"/>
-               
-               <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="."/>
-                               <xsl:with-param name="wrt" select="$wrt"/>
-               </xsl:call-template>
-       </xsl:template>
-
-       <xsl:template name="makenamespacelink">
-               <xsl:param name="cref" select="''"/>
-
-               <a>
-                       <xsl:attribute name="href">
-                               <xsl:call-template name="GetLinkTargetHtml">
-                                       <xsl:with-param name="cref" select="$cref" />
-                               </xsl:call-template>
-                       </xsl:attribute>
-       
-                       <xsl:value-of select="substring-after ($cref, 'N:')" />
-               </a>
-       </xsl:template>
-
-       <xsl:template name="maketypelink">
-               <xsl:param name="type" select="'notset'"/>
-               <xsl:param name="wrt" select="'notset'"/>
-               <xsl:param name="nested" select="0"/>
-
-               <xsl:variable name="btype">
-                       <xsl:call-template name="ToBrackets">
-                               <xsl:with-param name="s" select="$type" />
-                       </xsl:call-template>
-               </xsl:variable>
-
-               <xsl:variable name="array">
-                       <xsl:call-template name="GetArraySuffix">
-                               <xsl:with-param name="type" select="$type" />
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:choose>
-
-               <!-- chop off T: -->
-               <xsl:when test="starts-with($type, 'T:')">
-                       <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="substring($type, 3)"/>
-                               <xsl:with-param name="wrt" select="$wrt"/>
-                       </xsl:call-template>
-               </xsl:when>
-
-               <xsl:when test="contains ($type, '&amp;') and 
-                               '&amp;' = substring ($type, string-length ($type), 1)">
-                       <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="substring($type, 1, string-length($type)-1)"/>
-                               <xsl:with-param name="wrt" select="$wrt"/>
-                       </xsl:call-template>
-               </xsl:when>
-
-               <xsl:when test="string($array)">
-                       <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="substring($type, 1, string-length($type) - string-length ($array))"/>
-                               <xsl:with-param name="wrt" select="$wrt"/>
-                       </xsl:call-template>
-                       <xsl:value-of select="$array"/>
-               </xsl:when>
-
-               <xsl:when test="contains ($type, '*') and
-                               '*' = substring ($type, string-length ($type), 1)">
-                       <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="substring($type, 1, string-length($type)-1)"/>
-                               <xsl:with-param name="wrt" select="$wrt"/>
-                       </xsl:call-template>
-                       <xsl:value-of select="'*'"/>
-               </xsl:when>
-               
-               <!-- if this is a generic type parameter, don't make a link but italicize it and give it a tooltip instead -->
-               <xsl:when test="count($ThisType/TypeParameters/TypeParameter[@Name=$type] | 
-                               $ThisType/TypeParameters/TypeParameter[child::text()=$type] |
-                               ancestor::Member/Docs/typeparam[@name=$type]) = 1">
-                       <!-- note that we check if it is a generic type using /Type/TypeParameters because that will have type parameters declared in an outer class if this is a nested class, but then we get the tooltip text from the type parameters documented in this file -->
-                       <i title="{$ThisType/Docs/typeparam[@name=$type] | ancestor::Member/Docs/typeparam[@name=$type]}"><xsl:value-of select="$type"/></i>
-               </xsl:when>
-               
-               <!-- if this is a generic type parameter of a base type, replace it with the type that it was instantiated with -->
-               <xsl:when test="count(ancestor::Members/BaseTypeArgument[@TypeParamName=$type]) = 1">
-                       <!-- note that an overridden type parameter may be referenced in a type parameter within $type, but we can't replace that nicely since we can't parse generic type names here -->
-                       <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="ancestor::Members/BaseTypeArgument[@TypeParamName=$type]"/>
-                               <xsl:with-param name="wrt" select="$wrt"/>
-                       </xsl:call-template>
-               </xsl:when>
-               
-
-               <xsl:otherwise>
-                       <xsl:variable name="escaped-type">
-                               <xsl:call-template name="GetEscapedTypeName">
-                                       <xsl:with-param name="typename" select="$btype" />
-                               </xsl:call-template>
-                       </xsl:variable>
-                       <a>
-                               <xsl:attribute name="href">
-                                       <xsl:call-template name="GetLinkTargetHtml">
-                                               <xsl:with-param name="type" select="$escaped-type" />
-                                               <xsl:with-param name="cref" select="concat ('T:', $escaped-type)" />
-                                       </xsl:call-template>
-                               </xsl:attribute>
-       
-                               <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T" select="$btype"/>
-                                       <xsl:with-param name="wrt" select="$wrt"/>
-                               </xsl:call-template>
-                       </a>
-               </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetArraySuffix">
-               <xsl:param name="type" />
-
-               <xsl:if test="contains ($type, ']') and 
-                               ']' = substring ($type, string-length ($type), 1)">
-                       <xsl:variable name="start">
-                               <xsl:call-template name="GetArraySuffixStart">
-                                       <xsl:with-param name="type" select="$type" />
-                                       <xsl:with-param name="i" select="string-length ($type) - 1" />
-                               </xsl:call-template>
-                       </xsl:variable>
-                       <xsl:value-of select="substring ($type, $start)" />
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="GetArraySuffixStart">
-               <xsl:param name="type" />
-               <xsl:param name="i" />
-
-               <xsl:choose>
-                       <xsl:when test="substring ($type, $i, 1) = '['">
-                               <xsl:value-of select="$i" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:call-template name="GetArraySuffixStart">
-                                       <xsl:with-param name="type" select="$type" />
-                                       <xsl:with-param name="i" select="$i - 1" />
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetTypeDisplayName">
-               <xsl:param name="T"/>
-               <xsl:param name="wrt"/>
-
-                               <!-- use C#-style names -->
-                               <xsl:choose>
-                                       <xsl:when test="$T='System.Object'">object</xsl:when>
-                                       <xsl:when test="$T='System.Boolean'">bool</xsl:when>
-                                       <xsl:when test="$T='System.Byte'">byte</xsl:when>
-                                       <xsl:when test="$T='System.Char'">char</xsl:when>
-                                       <xsl:when test="$T='System.Decimal'">decimal</xsl:when>
-                                       <xsl:when test="$T='System.Double'">double</xsl:when>
-                                       <xsl:when test="$T='System.Int16'">short</xsl:when>
-                                       <xsl:when test="$T='System.Int32'">int</xsl:when>
-                                       <xsl:when test="$T='System.Int64'">long</xsl:when>
-                                       <xsl:when test="$T='System.SByte'">sbyte</xsl:when>
-                                       <xsl:when test="$T='System.Single'">float</xsl:when>
-                                       <xsl:when test="$T='System.String'">string</xsl:when>
-                                       <xsl:when test="$T='System.UInt16'">ushort</xsl:when>
-                                       <xsl:when test="$T='System.UInt32'">uint</xsl:when>
-                                       <xsl:when test="$T='System.UInt64'">ulong</xsl:when>
-                                       <xsl:when test="$T='System.Void'">void</xsl:when>
-
-                                       <xsl:when test="contains($T, '&lt;')">
-                                               <xsl:call-template name="GetTypeDisplayName">
-                                                       <xsl:with-param name="T" select="substring-before ($T, '&lt;')" />
-                                                       <xsl:with-param name="wrt" select="$wrt" />
-                                               </xsl:call-template>
-                                               <xsl:text>&lt;</xsl:text>
-                                               <xsl:call-template name="GetMemberArgList">
-                                                       <xsl:with-param name="arglist" select="substring-after ($T, '&lt;')" />
-                                                       <xsl:with-param name="wrt" select="$wrt" />
-                                               </xsl:call-template>
-                                               <!-- don't need to append &gt; as GetMemberArgList (eventually) appends it -->
-                                       </xsl:when>
-       
-                                       <!-- if the type is in the wrt namespace, omit the namespace name -->
-                                       <xsl:when test="not($wrt='') and starts-with($T, concat($wrt,'.')) and not(contains(substring-after($T,concat($wrt,'.')), '.'))">
-                                               <xsl:value-of select="translate (substring-after($T,concat($wrt,'.')), '+', '.')"/>
-                                       </xsl:when>
-       
-                                       <!-- if the type is in the System namespace, omit the namespace name -->
-                                       <xsl:when test="starts-with($T, 'System.') and not(contains(substring-after($T, 'System.'), '.'))">
-                                               <xsl:value-of select="translate (substring-after($T,'System.'), '+', '.')"/>
-                                       </xsl:when>
-       
-                                       <!-- if the type is in the System.Collections namespace, omit the namespace name -->
-                                       <xsl:when test="starts-with($T, 'System.Collections.') and not(contains(substring-after($T, 'System.Collections.'), '.'))">
-                                               <xsl:value-of select="translate (substring-after($T,'System.Collections.'), '+', '.')"/>
-                                       </xsl:when>
-
-                                       <!-- if the type is in the System.Collections.Generic namespace, omit the namespace name -->
-                                       <xsl:when test="starts-with($T, 'System.Collections.Generic.') and not(contains(substring-after($T, 'System.Collections.Generic.'), '.'))">
-                                               <xsl:value-of select="translate (substring-after($T,'System.Collections.Generic.'), '+', '.')"/>
-                                       </xsl:when>
-
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="translate ($T, '+', '.')" />
-                                       </xsl:otherwise>
-                               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetMemberDisplayName">
-               <xsl:param name="memberName" />
-               <xsl:param name="isproperty" select="false()" />
-
-               <xsl:choose>
-                       <xsl:when test="contains($memberName, '.')">
-                               <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T">
-                                               <xsl:call-template name="GetTypeName">
-                                                       <xsl:with-param name="type" select="$memberName"/>
-                                               </xsl:call-template>
-                                       </xsl:with-param>
-                                       <xsl:with-param name="wrt" select="''" />
-                               </xsl:call-template>
-                               <xsl:text>.</xsl:text>
-                               <xsl:call-template name="GetMemberName">
-                                       <xsl:with-param name="type" select="$memberName" />
-                                       <xsl:with-param name="isproperty" select="$isproperty"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$memberName" />
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="ToBrackets">
-               <xsl:param name="s" />
-               <xsl:value-of select="translate (translate ($s, '{', '&lt;'), '}', '&gt;')" />
-       </xsl:template>
-
-       <xsl:template name="ToBraces">
-               <xsl:param name="s" />
-               <xsl:value-of select="translate (translate ($s, '&lt;', '{'), '&gt;', '}')" />
-       </xsl:template>
-       
-       <xsl:template name="memberlinkprefix">
-               <xsl:param name="member" />
-               <xsl:choose>
-                       <xsl:when test="$member/MemberType='Constructor'">C</xsl:when>
-                       <xsl:when test="$member/MemberType='Method'">M</xsl:when>
-                       <xsl:when test="$member/MemberType='Property'">P</xsl:when>
-                       <xsl:when test="$member/MemberType='Field'">F</xsl:when>
-                       <xsl:when test="$member/MemberType='Event'">E</xsl:when>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="makememberlink">
-               <xsl:param name="cref"/>
-
-               <xsl:variable name="bcref">
-                       <xsl:call-template name="ToBrackets">
-                               <xsl:with-param name="s" select="$cref" />
-                       </xsl:call-template>
-               </xsl:variable>
-
-               <xsl:variable name="fullname">
-                       <xsl:choose>
-                               <xsl:when test="starts-with($bcref, 'C:') or starts-with($bcref, 'T:')">
-                                       <xsl:choose>
-                                               <xsl:when test="contains($bcref, '(')">
-                                                       <xsl:value-of select="substring (substring-before ($bcref, '('), 3)" />
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <xsl:value-of select="substring($bcref, 3)" />
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:call-template name="GetTypeName">
-                                               <xsl:with-param name="type" select="substring($bcref, 3)"/>
-                                       </xsl:call-template>
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-
-               <xsl:variable name="memberName">
-                       <xsl:choose>
-                               <xsl:when test="starts-with($bcref, 'T:')" />
-                               <xsl:when test="starts-with($bcref, 'C:') and not(contains($bcref, '('))" />
-                               <xsl:when test="starts-with($bcref, 'C:') and contains($bcref, '(')">
-                                       <xsl:text>(</xsl:text>
-                                       <xsl:call-template name="GetMemberArgList">
-                                               <xsl:with-param name="arglist" select="substring-before(substring-after($bcref, '('), ')')" />
-                                               <xsl:with-param name="wrt" select="$TypeNamespace" />
-                                       </xsl:call-template>
-                                       <xsl:text>)</xsl:text>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:text>.</xsl:text>
-                                       <xsl:call-template name="GetMemberName">
-                                               <xsl:with-param name="type" select="substring($bcref, 3)" />
-                                               <xsl:with-param name="wrt" select="$fullname"/>
-                                               <xsl:with-param name="isproperty" select="starts-with($bcref, 'P:')"/>
-                                       </xsl:call-template>
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-
-               <xsl:variable name="escaped-type">
-                       <xsl:call-template name="GetEscapedTypeName">
-                               <xsl:with-param name="typename">
-                                       <xsl:call-template name="ToBrackets">
-                                               <xsl:with-param name="s" select="$fullname" />
-                                       </xsl:call-template>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="displayname">
-                       <xsl:call-template name="GetTypeDisplayName">
-                               <xsl:with-param name="T" select="$fullname" />
-                               <xsl:with-param name="wrt" select="$TypeNamespace"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               <a>
-                       <xsl:attribute name="href">
-                               <xsl:call-template name="GetLinkTargetHtml">
-                                       <xsl:with-param name="type" select="$escaped-type" />
-                                       <xsl:with-param name="cref">
-                                               <xsl:call-template name="ToBraces">
-                                                       <xsl:with-param name="s" select="$cref" />
-                                               </xsl:call-template>
-                                       </xsl:with-param>
-                               </xsl:call-template>
-                       </xsl:attribute>
-                       <xsl:value-of select="translate (concat($displayname, $memberName), '+', '.')" />
-               </a>
-       </xsl:template>
-
-       <xsl:template name="GetTypeName">
-               <xsl:param name="type" />
-               <xsl:variable name="prefix" select="substring-before($type, '.')" />
-               <xsl:variable name="suffix" select="substring-after($type, '.')" />
-               <xsl:choose>
-                       <xsl:when test="contains($type, '(')">
-                               <xsl:call-template name="GetTypeName">
-                                       <xsl:with-param name="type" select="substring-before($type, '(')" />
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="not(contains($suffix, '.'))">
-                               <xsl:value-of select="$prefix" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$prefix" />
-                               <xsl:text>.</xsl:text>
-                               <xsl:call-template name="GetTypeName">
-                                       <xsl:with-param name="type" select="$suffix" />
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetMemberName">
-               <xsl:param name="type" />
-               <xsl:param name="isproperty" select="0"/>
-               <xsl:variable name="prefix" select="substring-before($type, '.')" />
-               <xsl:variable name="suffix" select="substring-after($type, '.')" />
-               <xsl:choose>
-                       <xsl:when test="contains($type, '(')">
-                               <xsl:call-template name="GetMemberName">
-                                       <xsl:with-param name="type" select="substring-before($type, '(')" />
-                               </xsl:call-template>
-                               <xsl:text>(</xsl:text>
-                               <xsl:call-template name="GetMemberArgList">
-                                       <xsl:with-param name="arglist" select="substring-before(substring-after($type, '('), ')')" />
-                                       <xsl:with-param name="wrt" select="$TypeNamespace" />
-                               </xsl:call-template>
-                               <xsl:text>)</xsl:text>
-                       </xsl:when>
-                       <xsl:when test="not(contains($suffix, '.'))">
-                               <xsl:value-of select="$suffix" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:call-template name="GetMemberName">
-                                       <xsl:with-param name="type" select="$suffix" />
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetMemberArgList">
-               <xsl:param name="arglist" />
-               <xsl:param name="wrt" select="''"/>
-
-               <xsl:variable name="_arglist">
-                       <xsl:choose>
-                               <xsl:when test="starts-with ($arglist, ',')">
-                                       <xsl:value-of select="substring-after ($arglist, ',')" />
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="$arglist" />
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-
-               <xsl:if test="starts-with ($arglist, ',')">
-                       <xsl:text>, </xsl:text>
-               </xsl:if>
-
-               <xsl:variable name="c"  select="substring-before ($_arglist, ',')" />
-               <xsl:variable name="lt" select="substring-before ($_arglist, '&lt;')" />
-               <xsl:variable name="gt" select="substring-before ($_arglist, '&gt;')" />
-
-               <xsl:choose>
-                       <!-- Need to insert ',' between type arguments -->
-                       <xsl:when test="
-                                       ($c != '' and $lt != '' and $gt != '' and 
-                                        string-length ($c) &lt; string-length ($lt) and 
-                                        string-length ($c) &lt; string-length ($gt)) or
-                                       ($c != '' and $lt != '' and $gt = '' and
-                                        string-length ($c) &lt; string-length ($lt)) or
-                                       ($c != '' and $lt = '' and $gt != '' and
-                                        string-length ($c) &lt; string-length ($gt)) or
-                                       ($c != '' and $lt = '' and $gt = '')">
-                               <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T" select="$c"/>
-                                       <xsl:with-param name="wrt" select="$wrt"/>
-                               </xsl:call-template>
-                               <xsl:text>, </xsl:text>
-                               <xsl:call-template name="GetMemberArgList">
-                                       <xsl:with-param name="arglist" select="substring-after($_arglist, ',')" />
-                                       <xsl:with-param name="wrt" select="$wrt" />
-                               </xsl:call-template>
-                       </xsl:when>
-
-                       <!-- start of nested type argument list < -->
-                       <xsl:when test="
-                                       ($c != '' and $lt != '' and $gt != '' and 
-                                        string-length ($lt) &lt; string-length ($c) and 
-                                        string-length ($lt) &lt; string-length ($gt)) or
-                                       ($c != '' and $lt != '' and $gt = '' and
-                                        string-length ($lt) &lt; string-length ($c)) or
-                                       ($c = '' and $lt != '' and $gt != '' and
-                                        string-length ($lt) &lt; string-length ($gt))">
-                               <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T" select="$lt"/>
-                                       <xsl:with-param name="wrt" select="$wrt"/>
-                               </xsl:call-template>
-                               <xsl:text>&lt;</xsl:text>
-                               <xsl:call-template name="GetMemberArgList">
-                                       <xsl:with-param name="arglist" select="substring-after($_arglist, '&lt;')" />
-                                       <xsl:with-param name="wrt" select="$wrt" />
-                               </xsl:call-template>
-                       </xsl:when>
-
-                       <!-- end of (nested?) type argument list > -->
-                       <xsl:when test="
-                                       ($c != '' and $lt != '' and $gt != '' and 
-                                        string-length ($gt) &lt; string-length ($c) and 
-                                        string-length ($gt) &lt; string-length ($lt)) or
-                                       ($c != '' and $lt = '' and $gt = '' and
-                                        string-length ($gt) &lt; string-length ($c)) or
-                                       ($c = '' and $lt != '' and $gt != '' and
-                                        string-length ($gt) &lt; string-length ($lt)) or
-                                       ($c = '' and $lt = '' and $gt != '')">
-                               <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T" select="$gt"/>
-                                       <xsl:with-param name="wrt" select="$wrt"/>
-                               </xsl:call-template>
-                               <xsl:text>&gt;</xsl:text>
-                               <xsl:call-template name="GetMemberArgList">
-                                       <xsl:with-param name="arglist" select="substring-after($_arglist, '&gt;')" />
-                                       <xsl:with-param name="wrt" select="$wrt" />
-                               </xsl:call-template>
-                       </xsl:when>
-
-                       <!-- nothing left to do -->
-                       <xsl:otherwise>
-                               <xsl:call-template name="GetTypeDisplayName">
-                                       <xsl:with-param name="T" select="$_arglist"/>
-                                       <xsl:with-param name="wrt" select="$wrt"/>
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-       
-       <!-- Transforms the contents of the selected node containing a cref into a hyperlink. -->
-       <xsl:template match="*|@*" mode="cref">
-               <xsl:call-template name="makememberlink">
-                       <xsl:with-param name="cref" select="."/>
-               </xsl:call-template>
-               <!--
-               <a>
-                       <xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute>
-                       <xsl:value-of select="substring-after(., ':')"/></a>
-                       -->
-       </xsl:template>
-
-       <xsl:template name="membertypeplural">
-               <xsl:param name="name"/>
-               <xsl:choose>
-               <xsl:when test="$name='ExtensionMethod'">Extension Methods</xsl:when>
-               <xsl:when test="$name='Constructor'">Constructors</xsl:when>
-               <xsl:when test="$name='Property'">Properties</xsl:when>
-               <xsl:when test="$name='Method'">Methods</xsl:when>
-               <xsl:when test="$name='Field'">Fields</xsl:when>
-               <xsl:when test="$name='Event'">Events</xsl:when>
-               <xsl:when test="$name='Operator'">Operators</xsl:when>
-               <xsl:when test="$name='Explicit'">Explicitly Implemented Interface Members</xsl:when>
-               </xsl:choose>
-       </xsl:template>
-       <xsl:template name="membertypeplurallc">
-               <xsl:param name="name"/>
-               <xsl:choose>
-               <xsl:when test="$name='ExtensionMethod'">extension methods</xsl:when>
-               <xsl:when test="$name='Constructor'">constructors</xsl:when>
-               <xsl:when test="$name='Property'">properties</xsl:when>
-               <xsl:when test="$name='Method'">methods</xsl:when>
-               <xsl:when test="$name='Field'">fields</xsl:when>
-               <xsl:when test="$name='Event'">events</xsl:when>
-               <xsl:when test="$name='Operator'">operators</xsl:when>
-               <xsl:when test="$name='Explicit'">explicitly implemented interface members</xsl:when>
-               </xsl:choose>
-       </xsl:template>
-       <xsl:template name="gettypetype">
-               <xsl:variable name="sig" select="concat(' ', TypeSignature[@Language='C#']/@Value, ' ')"/>
-               <xsl:choose>
-               <xsl:when test="contains($sig,'class')">Class</xsl:when>
-               <xsl:when test="contains($sig,'enum')">Enumeration</xsl:when>
-               <xsl:when test="contains($sig,'struct')">Structure</xsl:when>
-               <xsl:when test="contains($sig,'delegate')">Delegate</xsl:when>
-               </xsl:choose>
-       </xsl:template>
-
-       <!-- Ensures that the resuting node is not surrounded by a para tag. -->
-       <xsl:template match="*|@*" mode="editlink">
-               <xsl:call-template name="CreateEditLink">
-                       <xsl:with-param name="e" select="." />
-               </xsl:call-template>
-       </xsl:template>
-
-       <xsl:template match="*" mode="notoppara">
-               <xsl:choose>
-               <xsl:when test="starts-with (string(.), 'To be added')">
-                       <span class="NotEntered">Documentation for this section has not yet been entered.</span>
-               </xsl:when>
-               <xsl:when test="count(*) = 1 and count(para)=1">
-                       <xsl:apply-templates select="para/node()"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:apply-templates select="."/>
-               </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template match="para">
-               <p>
-                       <xsl:apply-templates/>
-               </p>
-       </xsl:template>
-
-       <xsl:template match="attribution">
-               <a href="http://creativecommons.org/licenses/by/4.0/" class="attributionlogo">
-                       <xsl:attribute name="title">
-                               <xsl:choose>
-                                       <xsl:when test="@modified='false'"><xsl:value-of select="concat('This content is licensed Creative Commons By ', @from)" /></xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="concat('This content has been modified under a Creative Commons license from ', @from)" /></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:attribute>
-               <img src="mdocimages/creativecommons.png" /> 
-               </a>
-       </xsl:template>
-
-       <xsl:template match="paramref">
-               <i><xsl:value-of select="@name"/>
-                               <xsl:apply-templates/>
-               </i>
-       </xsl:template>
-
-       <xsl:template match="typeparamref">
-               <i><xsl:value-of select="@name"/>
-                               <xsl:apply-templates/>
-               </i>
-       </xsl:template>
-
-       <xsl:template match="block[@type='note']">
-               <div>
-               <i>Note: </i>
-                               <xsl:apply-templates/>
-               </div>
-       </xsl:template>
-       <xsl:template match="block[@type='behaviors']">
-               <h5 class="Subsection">Operation</h5>
-               <xsl:apply-templates/>
-       </xsl:template>
-       <xsl:template match="block[@type='overrides']">
-               <h5 class="Subsection">Note to Inheritors</h5>
-               <xsl:apply-templates/>
-       </xsl:template>
-       <xsl:template match="block[@type='usage']">
-               <h5 class="Subsection">Usage</h5>
-               <xsl:apply-templates/>
-       </xsl:template>
-
-       <xsl:template match="c">
-               <tt>
-                       <xsl:apply-templates/>  
-               </tt>
-       </xsl:template>
-       <xsl:template match="c//para">
-               <xsl:apply-templates/><br/>     
-       </xsl:template>
-       
-       <xsl:template match="code">
-               <xsl:call-template name="CreateCodeBlock">
-                       <xsl:with-param name="language" select="@lang" />
-                       <xsl:with-param name="content" select="string(descendant-or-self::text())" />
-               </xsl:call-template>
-       </xsl:template>
-       <xsl:template match="img">
-         <p>
-               <img>
-                 <xsl:attribute name="src">
-                       <!-- we recognize two types of images:
-                                  - those with src attribute that reference directly an external image
-                                  - those with a href attributes which are internally available as part of the doc bundle
-                       -->
-                       <xsl:choose>
-                         <xsl:when test="count(@src)&gt;0">
-                               <xsl:value-of select="@src" />
-                         </xsl:when>
-                         <xsl:when test="count(@href)&gt;0">
-                               <xsl:value-of select="concat('source-id:', $source-id, ':', @href)" />
-                         </xsl:when>
-                       </xsl:choose>
-                 </xsl:attribute>
-                 <xsl:attribute name="class">
-                       <xsl:choose>
-                         <xsl:when test="count(@class)&gt;0">
-                               <xsl:value-of select="@class" />
-                         </xsl:when>
-                         <xsl:otherwise>picture</xsl:otherwise>
-                       </xsl:choose>
-                 </xsl:attribute>
-               </img>
-         </p>
-       </xsl:template>
-
-       <xsl:template match="onequarter">¼</xsl:template>
-       <xsl:template match="pi">Ï€</xsl:template>
-       <xsl:template match="theta">θ</xsl:template>
-       <xsl:template match="leq">≤</xsl:template>
-       <xsl:template match="geq">≥</xsl:template>
-       <xsl:template match="subscript">
-               <sub><xsl:value-of select="@term"/></sub>
-       </xsl:template>
-       <xsl:template match="superscript">
-               <sup><xsl:value-of select="@term"/></sup>
-       </xsl:template>
-
-       <!-- tabular data
-               example:
-
-                       <list type="table">
-                               <listheader>
-                                       <term>First Col Header</term>
-                                       <description>Second Col Header</description>
-                                       <description>Third Col Header</description>
-                               </listheader>
-                               <item>
-                                       <term>First Row First Col</term>
-                                       <description>First Row Second Col</description>
-                                       <description>First Row Third Col</description>
-                               </item>
-                               <item>
-                                       <term>Second Row First Col</term>
-                                       <description>Second Row Second Col</description>
-                                       <description>Second Row Third Col</description>
-                               </item>
-                       </list>
-       -->
-
-       <xsl:template match="list[@type='table']">
-               <xsl:call-template name="CreateListTable">
-               <xsl:with-param name="header">
-                       <th><xsl:apply-templates select="listheader/term" mode="notoppara"/></th>
-                       <xsl:for-each select="listheader/description">
-                               <th><xsl:apply-templates mode="notoppara"/></th>
-                       </xsl:for-each>
-               </xsl:with-param>
-
-               <xsl:with-param name="content">
-               <xsl:for-each select="item">
-                       <tr valign="top">
-                       <td>
-                               <xsl:apply-templates select="term" mode="notoppara"/>
-                       </td>
-                       <xsl:for-each select="description">
-                               <td>
-                                       <xsl:apply-templates mode="notoppara"/>
-                               </td>
-                       </xsl:for-each>
-                       </tr>
-               </xsl:for-each>
-               </xsl:with-param>
-               </xsl:call-template>
-       </xsl:template>
-
-       <xsl:template match="list[@type='bullet']">
-               <ul>
-                       <xsl:for-each select="item">
-                               <li>
-                                       <xsl:apply-templates select="term" mode="notoppara"/>
-                                       <xsl:apply-templates select="para" mode="notoppara"/>
-                               </li>
-                       </xsl:for-each>
-               </ul>
-       </xsl:template>
-       <xsl:template match="list[@type='number']">
-               <ol>
-                       <xsl:for-each select="item">
-                               <li>
-                                       <xsl:apply-templates select="term" mode="notoppara"/>
-                               </li>
-                       </xsl:for-each>
-               </ol>
-       </xsl:template>
-
-       <xsl:template match="list">
-               [<i>The '<xsl:value-of select="@type"/>' type of list has not been implemented in the ECMA stylesheet.</i>]
-               
-               <xsl:message>
-               [<i>The '<xsl:value-of select="@type"/>' type of list has not been implemented in the ECMA stylesheet.</i>]
-               </xsl:message>
-       </xsl:template>
-
-       <xsl:template match="see[@cref]">
-               <xsl:choose>
-               <xsl:when test="not(substring-after(@cref, 'T:')='')">
-                       <xsl:call-template name="maketypelink">
-                               <xsl:with-param name="type" select="normalize-space (@cref)"/>
-                       </xsl:call-template>
-               </xsl:when>
-               <xsl:when test="not(substring-after(@cref, 'N:')='')">
-                       <xsl:call-template name="makenamespacelink">
-                               <xsl:with-param name="cref" select="normalize-space (@cref)"/>
-                       </xsl:call-template>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:call-template name="makememberlink">
-                               <xsl:with-param name="cref" select="normalize-space (@cref)"/>
-                       </xsl:call-template>
-               </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template match="see[@langword]">
-               <tt><xsl:value-of select="@langword"/></tt>
-       </xsl:template>
-       
-       <xsl:template name="GetInheritedMembers">
-               <xsl:param name="declaringtype"/>
-               <xsl:param name="generictypereplacements"/>
-               <xsl:param name="listmembertype"/>
-               <xsl:param name="showprotected"/>
-               <xsl:param name="overloads-mode" select="false()" />
-               <xsl:param name="showstatic" select='1'/>
-
-               <xsl:choose>
-               <xsl:when test="$listmembertype='ExtensionMethod' and $showprotected=false()">
-                       <xsl:for-each select="$declaringtype/Members/Member[MemberType=$listmembertype]">
-                               <Members Name="Link/@Type" FullName="Link/@Type">
-                                       <Member MemberName="{@MemberName}">
-                                               <xsl:attribute name="ExplicitMemberName">
-                                                       <xsl:call-template name="GetMemberNameWithoutGenericTypes">
-                                                               <xsl:with-param name="m" select="@MemberName" />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:attribute name="TypeParameters">
-                                                       <xsl:call-template name="GetTypeParameterNames">
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:attribute name="Parameters">
-                                                       <xsl:call-template name="GetParameterTypes">
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:copy-of select="./*" />
-                                       </Member>
-                               </Members>
-                       </xsl:for-each>
-               </xsl:when>
-               <xsl:otherwise>
-               <Members Name="{$declaringtype/@Name}" FullName="{$declaringtype/@FullName}">
-               
-               <xsl:copy-of select="$generictypereplacements"/>
-
-               <!-- Get all members in this type that are of listmembertype and are either
-                       protected or not protected according to showprotected. -->
-               <xsl:choose>
-                       <xsl:when test="$listmembertype = 'Explicit'">
-                               <xsl:for-each select="$declaringtype/Members/Member
-                                               [MemberType != 'Constructor']
-                                               [contains (@MemberName, '.')]">
-                                       <Member MemberName="{@MemberName}">
-                                               <xsl:attribute name="ExplicitMemberName">
-                                                       <xsl:call-template name="GetMemberName">
-                                                               <xsl:with-param name="type" select="@MemberName" />
-                                                               <xsl:with-param name="isproperty" select="$listmembertype = 'Property'"/>
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:attribute name="TypeParameters">
-                                                       <xsl:call-template name="GetTypeParameterNames">
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:attribute name="Parameters">
-                                                       <xsl:call-template name="GetParameterTypes">
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:copy-of select="./*" />
-                                       </Member>
-                               </xsl:for-each>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:for-each select="$declaringtype/Members/Member
-                                       [(MemberType=$listmembertype or ($listmembertype='Operator' and MemberType='Method'))]
-                                       [(not($overloads-mode) or @MemberName=$index or 
-                                               ($index='Conversion' and (@MemberName='op_Implicit' or @MemberName='op_Explicit'))) ]
-                                       [$showprotected=starts-with(MemberSignature[@Language='C#']/@Value, 'protected ')]
-                                       [($listmembertype='Method' and not(starts-with(@MemberName,'op_')))
-                                               or ($listmembertype='Operator' and starts-with(@MemberName,'op_'))
-                                               or (not($listmembertype='Method') and not($listmembertype='Operator'))]
-                                       [$showstatic or not(contains(MemberSignature[@Language='C#']/@Value,' static '))]
-                                       [$listmembertype = 'Constructor' or not(contains(@MemberName, '.'))]
-                                       ">
-                                       <Member MemberName="{@MemberName}">
-                                               <xsl:attribute name="ExplicitMemberName">
-                                                       <xsl:call-template name="GetMemberNameWithoutGenericTypes">
-                                                               <xsl:with-param name="m" select="@MemberName" />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:attribute name="TypeParameters">
-                                                       <xsl:call-template name="GetTypeParameterNames">
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:attribute name="Parameters">
-                                                       <xsl:call-template name="GetParameterTypes">
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:attribute>
-                                               <xsl:copy-of select="./*" />
-                                       </Member>
-                               </xsl:for-each>
-                       </xsl:otherwise>
-               </xsl:choose>
-
-               <Docs>
-                       <xsl:copy-of select="$declaringtype/Docs/typeparam" />
-               </Docs>
-                       
-               </Members>
-               </xsl:otherwise>
-               </xsl:choose>
-
-               <xsl:if test="not($listmembertype='Constructor') and count($declaringtype/Base/BaseTypeName)=1">
-                       <xsl:variable name="basedocsfile">
-                               <xsl:call-template name="GetLinkTarget">
-                                       <xsl:with-param name="type">
-                                               <xsl:call-template name="GetEscapedTypeName">
-                                                       <xsl:with-param name="typename" select="$declaringtype/Base/BaseTypeName" />
-                                               </xsl:call-template>
-                                       </xsl:with-param>
-                                       <xsl:with-param name="cref">
-                                       </xsl:with-param>
-                                       <xsl:with-param name="local-suffix" />
-                                       <xsl:with-param name="remote"/>
-                                       <xsl:with-param name="xmltarget" select='1'/>
-                               </xsl:call-template>
-                       </xsl:variable>
-
-                       <xsl:if test="not(string($basedocsfile) = '')">
-                               <xsl:call-template name="GetInheritedMembers">
-                                       <xsl:with-param name="listmembertype" select="$listmembertype"/>
-                                       <xsl:with-param name="showprotected" select="$showprotected"/>
-                                       <xsl:with-param name="declaringtype" select="document(string($basedocsfile),.)/Type"/>
-                                       <xsl:with-param name="generictypereplacements" select="$declaringtype/Base/BaseTypeArguments/*"/>
-                                       <xsl:with-param name="showstatic" select='0'/>
-                               </xsl:call-template>
-                       </xsl:if>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="GetMemberNameWithoutGenericTypes">
-               <xsl:param name="m" />
-               <xsl:choose>
-                       <xsl:when test="contains ($m, '&lt;')">
-                               <xsl:value-of select="substring-before ($m, '&lt;')" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$m" />
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-       
-       <xsl:template name="GetTypeParameterNames">
-               <xsl:param name="member" />
-
-               <xsl:for-each select="$member/TypeParameters/TypeParameter">
-                       <xsl:if test="not(position()=1)">, </xsl:if>
-                       <xsl:value-of select="@Name" />
-               </xsl:for-each>
-       </xsl:template>
-       
-       <xsl:template name="GetParameterTypes">
-               <xsl:param name="member" />
-
-               <xsl:for-each select="$member/Parameters/Parameter">
-                       <xsl:if test="not(position()=1)">, </xsl:if>
-                       <xsl:value-of select="@Type" />
-               </xsl:for-each>
-       </xsl:template>
-       
-       <xsl:template name="ListAllMembers">
-               <xsl:param name="html-anchor" select="false()" />
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Constructor'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Constructor'"/>
-                       <xsl:with-param name="showprotected" select="true()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Field'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Field'"/>
-                       <xsl:with-param name="showprotected" select="true()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Property'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Property'"/>
-                       <xsl:with-param name="showprotected" select="true()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Method'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Method'"/>
-                       <xsl:with-param name="showprotected" select="true()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Event'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Event'"/>
-                       <xsl:with-param name="showprotected" select="true()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Operator'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'Explicit'"/>
-                       <xsl:with-param name="showprotected" select="true()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-
-               <xsl:call-template name="ListMembers">
-                       <xsl:with-param name="listmembertype" select="'ExtensionMethod'"/>
-                       <xsl:with-param name="showprotected" select="false()"/>
-                       <xsl:with-param name="html-anchor" select="$html-anchor" />
-               </xsl:call-template>
-       </xsl:template>
-
-       <!-- Lists the members in the current Type node.
-                Only lists members of type listmembertype.
-                Displays the signature in siglanguage.
-                showprotected = true() or false()
-       -->
-       <xsl:template name="ListMembers">
-               <xsl:param name="listmembertype"/>
-               <xsl:param name="showprotected"/>
-               <xsl:param name="overloads-mode" select="false()" />
-               <xsl:param name="html-anchor" select="false()" />
-
-               <!-- get name and namespace of current type -->
-               <xsl:variable name="TypeFullName" select="@FullName"/>
-               <xsl:variable name="TypeName" select="@Name"/>          
-               <xsl:variable name="TypeNamespace" select="substring-before(@FullName, concat('.',@Name))"/>
-               
-               <xsl:variable name="MEMBERS-rtf">
-                       <xsl:call-template name="GetInheritedMembers">
-                               <xsl:with-param name="listmembertype" select="$listmembertype"/>
-                               <xsl:with-param name="showprotected" select="$showprotected"/>
-                               <xsl:with-param name="declaringtype" select="."/>
-                               <xsl:with-param name="overloads-mode" select="$overloads-mode" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="MEMBERS" select="msxsl:node-set($MEMBERS-rtf)" />
-               
-               <!--
-               <xsl:variable name="MEMBERS" select="
-                       $ALLMEMBERS/Member
-                       [(MemberType=$listmembertype or ($listmembertype='Operator' and MemberType='Method'))]
-                       [$showprotected=contains(MemberSignature[@Language='C#']/@Value,'protected')]
-                       [($listmembertype='Method' and not(starts-with(@MemberName,'op_')))
-                               or ($listmembertype='Operator' and starts-with(@MemberName,'op_'))
-                               or (not($listmembertype='Method') and not($listmembertype='Operator'))]
-                       "/>
-               -->
-               
-               <!-- if there aren't any, skip this -->
-               <xsl:if test="count($MEMBERS//Member)">
-
-               <xsl:variable name="SectionName">
-                       <xsl:if test="$listmembertype != 'Explicit' and $listmembertype != 'ExtensionMethod'">
-                               <xsl:if test="$showprotected">Protected </xsl:if>
-                               <xsl:if test="not($showprotected)">Public </xsl:if>
-                       </xsl:if>
-                       <xsl:call-template name="membertypeplural"><xsl:with-param name="name" select="$listmembertype"/></xsl:call-template>
-               </xsl:variable>
-
-               <!-- header -->
-               <xsl:call-template name="CreateH2Section">
-                       <xsl:with-param name="name" select="$SectionName" />
-                       <xsl:with-param name="child-id" select="$SectionName" />
-                       <xsl:with-param name="content">
-                               <div class="SubsectionBox">
-                               <xsl:call-template name="CreateMembersTable">
-                               <xsl:with-param name="content">
-
-                               <xsl:for-each select="$MEMBERS/Members/Member">
-                                       <!--<xsl:sort select="contains(MemberSignature[@Language='C#']/@Value,' static ')" data-type="text"/>-->
-                                       <xsl:sort select="@MemberName = 'op_Implicit' or @MemberName = 'op_Explicit'"/>
-                                       <xsl:sort select="@ExplicitMemberName" data-type="text"/>
-                                       <xsl:sort select="count(TypeParameters/TypeParameter)"/>
-                                       <xsl:sort select="@TypeParameters"/>
-                                       <xsl:sort select="count(Parameters/Parameter)"/>
-                                       <xsl:sort select="@Parameters"/>
-                                       
-                                       <xsl:variable name="local-id">
-                                               <xsl:choose>
-                                                       <xsl:when test="count(Link) = 1">
-                                                               <xsl:value-of select="Link/@Member" />
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                               <xsl:call-template name="GetLinkId" >
-                                                                       <xsl:with-param name="type" select="parent::Members" />
-                                                                       <xsl:with-param name="member" select="." />
-                                                               </xsl:call-template>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-
-                                       <xsl:variable name="linkfile">
-                                               <xsl:if test="not(parent::Members/@FullName = $TypeFullName)">
-                                                       <xsl:call-template name="GetLinkTargetHtml">
-                                                               <xsl:with-param name="type">
-                                                                       <xsl:choose>
-                                                                               <xsl:when test="count(Link) = 1">
-                                                                                       <xsl:value-of select="Link/@Type"/>
-                                                                               </xsl:when>
-                                                                               <xsl:otherwise>
-                                                                                       <xsl:call-template name="GetEscapedTypeName">
-                                                                                               <xsl:with-param name="typename" select="parent::Members/@FullName" />
-                                                                                       </xsl:call-template>
-                                                                               </xsl:otherwise>
-                                                                       </xsl:choose>
-                                                               </xsl:with-param>
-                                                               <xsl:with-param name="cref" />
-                                                       </xsl:call-template>
-                                               </xsl:if>
-                                       </xsl:variable>
-
-                                       <xsl:variable name="linkid">
-                                               <xsl:if test="$html-anchor">
-                                                       <xsl:value-of select="$linkfile" />
-                                                       <xsl:text>#</xsl:text>
-                                               </xsl:if>
-                                               <xsl:value-of select="$local-id" />
-                                       </xsl:variable>
-                                       
-                                       <xsl:variable name="isinherited">
-                                               <xsl:if test="$listmembertype != 'ExtensionMethod' and not(parent::Members/@FullName = $TypeFullName)">
-                                                       <xsl:text> (</xsl:text>
-                                                       <i>
-                                                       <xsl:text>Inherited from </xsl:text>
-                                                       <xsl:call-template name="maketypelink">
-                                                               <xsl:with-param name="type" select="parent::Members/@FullName"/>
-                                                               <xsl:with-param name="wrt" select="$TypeNamespace"/>
-                                                       </xsl:call-template>
-                                                       <xsl:text>.</xsl:text>
-                                                       </i>
-                                                       <xsl:text>)</xsl:text>
-                                               </xsl:if>
-                                       </xsl:variable>
-
-                                       <tr valign="top">
-                                               <td>
-                                                       <!-- random info -->
-
-                                                       <!-- check if it has get and set accessors -->
-                                                       <xsl:if test="MemberType='Property' and not(contains(MemberSignature[@Language='C#']/@Value, 'set;'))">
-                                                               <xsl:text>[read-only]</xsl:text>
-                                                       </xsl:if>
-                                                       <xsl:if test="MemberType='Property' and not(contains(MemberSignature[@Language='C#']/@Value, 'get;'))">
-                                                               <xsl:text>[write-only]</xsl:text>
-                                                       </xsl:if>
-
-                                                       <xsl:if test="contains(MemberSignature[@Language='C#']/@Value,'this[')">
-                                                               <div><i>default property</i></div>
-                                                       </xsl:if>
-
-                                                       <div>
-                                                       <xsl:call-template name="getmodifiers">
-                                                               <xsl:with-param name="sig" select="MemberSignature[@Language='C#']/@Value"/>
-                                                               <xsl:with-param name="protection" select="false()"/>
-                                                               <xsl:with-param name="inheritance" select="true()"/>
-                                                               <xsl:with-param name="extra" select="false()"/>
-                                                       </xsl:call-template>
-                                                       </div>
-                                               </td>
-
-                                       <xsl:choose>
-                                               <!-- constructor listing -->
-                                               <xsl:when test="MemberType='Constructor'">
-                                                       <!-- link to constructor page -->
-                                                       <td>
-                                                       <div>
-                                                       <b>
-                                                       <a href="{$linkid}">
-                                                               <xsl:call-template name="GetConstructorName">
-                                                                       <xsl:with-param name="type" select="parent::Members" />
-                                                                       <xsl:with-param name="ctor" select="." />
-                                                               </xsl:call-template>
-                                                       </a>
-                                                       </b>
-
-                                                       <!-- argument list -->
-                                                       <xsl:value-of select="'('"/>
-                                                               <xsl:for-each select="Parameters/Parameter">
-                                                                       <xsl:if test="not(position()=1)">, </xsl:if>
-                                                                       
-                                                                       <xsl:call-template name="ShowParameter">
-                                                                               <xsl:with-param name="Param" select="."/>
-                                                                               <xsl:with-param name="TypeNamespace" select="$TypeNamespace"/>
-                                                                               <xsl:with-param name="prototype" select="true()"/>
-                                                                       </xsl:call-template>
-                                                               </xsl:for-each>
-                                                       <xsl:value-of select="')'"/>
-                                                       </div>
-
-                                                       <!-- TODO: $implemented? -->
-
-                                                       </td>
-                                               </xsl:when>
-
-                                               <xsl:when test="$listmembertype = 'Explicit'">
-                                                       <td>
-                                                               <a href="{$linkid}">
-                                                                       <b>
-                                                                               <xsl:call-template name="GetMemberDisplayName">
-                                                                                       <xsl:with-param name="memberName" select="@MemberName" />
-                                                                                       <xsl:with-param name="isproperty" select="MemberType='Property'" />
-                                                                               </xsl:call-template>
-                                                                       </b>
-                                                               </a>
-                                                       </td>
-                                               </xsl:when>
-
-                                               <!-- field, property and event listing -->
-                                               <xsl:when test="MemberType='Field' or MemberType='Property' or MemberType='Event'">
-                                                       <td>
-
-                                                       <!-- link to member page -->
-                                                       <b>
-                                                       <a href="{$linkid}">
-                                                               <xsl:call-template name="GetMemberDisplayName">
-                                                                       <xsl:with-param name="memberName" select="@MemberName" />
-                                                                       <xsl:with-param name="isproperty" select="MemberType='Property'" />
-                                                               </xsl:call-template>
-                                                       </a>
-                                                       </b>
-
-                                                       <!-- argument list for accessors -->
-                                                       <xsl:if test="Parameters/Parameter">
-                                                       <xsl:value-of select="'('"/>
-                                                               <xsl:for-each select="Parameters/Parameter">
-                                                                       <xsl:if test="not(position()=1)">, </xsl:if>
-                                                                       
-                                                                       <xsl:call-template name="ShowParameter">
-                                                                               <xsl:with-param name="Param" select="."/>
-                                                                               <xsl:with-param name="TypeNamespace" select="$TypeNamespace"/>
-                                                                               <xsl:with-param name="prototype" select="true()"/>
-                                                                       </xsl:call-template>
-
-                                                               </xsl:for-each>
-                                                       <xsl:value-of select="')'"/>
-                                                       </xsl:if>
-
-                                                       </td>
-                                               </xsl:when>
-
-                                               <!-- method listing -->
-                                               <xsl:when test="$listmembertype='Method' or $listmembertype = 'ExtensionMethod'">
-                                                       <td colspan="2">
-
-                                                       <!-- link to method page -->
-                                                       <b>
-                                                       <a href="{$linkid}">
-                                                               <xsl:call-template name="GetMemberDisplayName">
-                                                                       <xsl:with-param name="memberName" select="@MemberName" />
-                                                                       <xsl:with-param name="isproperty" select="MemberType='Property'" />
-                                                               </xsl:call-template>
-                                                       </a>
-                                                       </b>
-
-                                                       <!-- argument list -->
-                                                       <xsl:value-of select="'('"/>
-                                                               <xsl:for-each select="Parameters/Parameter">
-                                                                       <xsl:if test="not(position()=1)">, </xsl:if>
-                                                                       
-                                                                       <xsl:call-template name="ShowParameter">
-                                                                               <xsl:with-param name="Param" select="."/>
-                                                                               <xsl:with-param name="TypeNamespace" select="$TypeNamespace"/>
-                                                                               <xsl:with-param name="prototype" select="true()"/>
-                                                                       </xsl:call-template>
-
-                                                               </xsl:for-each>
-                                                       <xsl:value-of select="')'"/>
-
-                                                       <!-- return type -->
-                                                       <xsl:if test="not(ReturnValue/ReturnType='System.Void')">
-                                                               <nobr>
-                                                               <xsl:text> : </xsl:text>
-                                                               <xsl:apply-templates select="ReturnValue/ReturnType" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates>
-                                                               </nobr>
-                                                       </xsl:if>
-
-                                                       <blockquote>
-                                                               <xsl:apply-templates select="Docs/summary" mode="notoppara"/>
-                                                               <xsl:copy-of select="$isinherited"/>
-                                                       </blockquote>
-                                                       </td>
-                                               </xsl:when>
-
-                                               <xsl:when test="$listmembertype='Operator'">
-                                                       <td>
-
-                                                       <!-- link to operator page -->
-                                                       <xsl:choose>
-                                                       <xsl:when test="@MemberName='op_Implicit' or @MemberName='op_Explicit'">
-                                                               <b>
-                                                               <a href="{$linkid}">
-                                                                       <xsl:text>Conversion</xsl:text>
-                                                                       <xsl:choose>
-                                                                       <xsl:when test="ReturnValue/ReturnType = //Type/@FullName">
-                                                                               <xsl:text> From </xsl:text>
-                                                                               <xsl:value-of select="Parameters/Parameter/@Type"/>
-                                                                       </xsl:when>
-                                                                       <xsl:otherwise>
-                                                                               <xsl:text> to </xsl:text>
-                                                                               <xsl:value-of select="ReturnValue/ReturnType"/>
-                                                                       </xsl:otherwise>
-                                                                       </xsl:choose>
-                                                               </a>
-                                                               </b>                                            
-
-                                                               <xsl:choose>
-                                                               <xsl:when test="@MemberName='op_Implicit'">
-                                                                       <xsl:text>(Implicit)</xsl:text>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>
-                                                                       <xsl:text>(Explicit)</xsl:text>
-                                                               </xsl:otherwise>
-                                                               </xsl:choose>
-                                                       </xsl:when>
-                                                       <xsl:when test="count(Parameters/Parameter)=1">
-                                                               <b>
-                                                               <a href="{$linkid}">
-                                                                       <xsl:value-of select="substring-after(@MemberName, 'op_')"/>
-                                                               </a>
-                                                               </b>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                               <b>
-                                                               <a href="{$linkid}">
-                                                                       <xsl:value-of select="substring-after(@MemberName, 'op_')"/>
-                                                               </a>
-                                                               </b>
-                                                               <xsl:value-of select="'('"/>
-                                                                       <xsl:for-each select="Parameters/Parameter">
-                                                                               <xsl:if test="not(position()=1)">, </xsl:if>
-                                                                               
-                                                                               <xsl:call-template name="ShowParameter">
-                                                                                       <xsl:with-param name="Param" select="."/>
-                                                                                       <xsl:with-param name="TypeNamespace" select="$TypeNamespace"/>
-                                                                                       <xsl:with-param name="prototype" select="true()"/>
-                                                                               </xsl:call-template>
-                       
-                                                                       </xsl:for-each>
-                                                               <xsl:value-of select="')'"/>
-                                                       </xsl:otherwise>
-                                                       </xsl:choose>
-                                                       </td>
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>
-                                                       <!-- Other types: just provide a link -->
-                                                       <td>
-                                                       <a href="{$linkid}">
-                                                               <xsl:call-template name="GetMemberDisplayName">
-                                                                       <xsl:with-param name="memberName" select="@MemberName" />
-                                                                       <xsl:with-param name="isproperty" select="MemberType='Property'" />
-                                                               </xsl:call-template>
-                                                       </a>
-                                                       </td>
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-
-                                       <xsl:if test="$listmembertype != 'Method' and $listmembertype != 'ExtensionMethod'">
-                                               <td>
-                                                       <!-- description -->
-                                                       <xsl:if test="MemberType='Field' or MemberType = 'Property'">
-                                                               <i><xsl:apply-templates select="ReturnValue/ReturnType" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates></i>
-                                                               <xsl:if test="MemberValue"> (<xsl:value-of select="MemberValue"/>)</xsl:if>
-                                                               <xsl:text>. </xsl:text>
-                                                       </xsl:if>
-
-                                                       <xsl:apply-templates select="Docs/summary" mode="notoppara"/>
-                                                       <xsl:copy-of select="$isinherited"/>
-                                               </td>
-                                       </xsl:if>
-                                       
-                                       </tr>
-                               </xsl:for-each>
-
-                               </xsl:with-param>
-                               </xsl:call-template>
-                               </div>
-                       </xsl:with-param>
-               </xsl:call-template>
-
-               </xsl:if>
-
-       </xsl:template>
-
-       <xsl:template name="GetLinkName">
-               <xsl:param name="type"/>
-               <xsl:param name="member"/>
-               <xsl:call-template name="memberlinkprefix">
-                       <xsl:with-param name="member" select="$member"/>
-               </xsl:call-template>
-               <xsl:text>:</xsl:text>
-               <xsl:call-template name="GetEscapedTypeName">
-                       <xsl:with-param name="typename" select="$type/@FullName" />
-               </xsl:call-template>
-               <xsl:if test="$member/MemberType != 'Constructor'">
-                       <xsl:text>.</xsl:text>
-                       <xsl:variable name="memberName">
-                               <xsl:call-template name="GetGenericName">
-                                       <xsl:with-param name="membername" select="$member/@MemberName" />
-                                       <xsl:with-param name="member" select="$member" />
-                               </xsl:call-template>
-                       </xsl:variable>
-                       <xsl:call-template name="Replace">
-                               <xsl:with-param name="s">
-                                       <xsl:call-template name="ToBraces">
-                                               <xsl:with-param name="s" select="$memberName" />
-                                       </xsl:call-template>
-                               </xsl:with-param>
-                               <xsl:with-param name="from">.</xsl:with-param>
-                               <xsl:with-param name="to">#</xsl:with-param>
-                       </xsl:call-template>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="GetGenericName">
-               <xsl:param name="membername" />
-               <xsl:param name="member" />
-               <xsl:variable name="numgenargs" select="count($member/Docs/typeparam)" />
-               <xsl:choose>
-                       <xsl:when test="$numgenargs = 0">
-                               <xsl:value-of select="$membername" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:if test="contains($membername, '&lt;')">
-                                       <xsl:value-of select="substring-before ($membername, '&lt;')" />
-                               </xsl:if>
-                               <xsl:text>``</xsl:text>
-                               <xsl:value-of select="$numgenargs" />
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetEscapedTypeName">
-               <xsl:param name="typename" />
-               <xsl:variable name="base" select="substring-before ($typename, '&lt;')" />
-
-               <xsl:choose>
-                       <xsl:when test="$base != ''">
-                               <xsl:value-of select="translate ($base, '+', '.')" />
-                               <xsl:text>`</xsl:text>
-                               <xsl:call-template name="GetGenericArgumentCount">
-                                       <xsl:with-param name="arglist" select="substring-after ($typename, '&lt;')" />
-                                       <xsl:with-param name="count">1</xsl:with-param>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise><xsl:value-of select="translate ($typename, '+', '.')" /></xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetGenericArgumentCount">
-               <xsl:param name="arglist" />
-               <xsl:param name="count" />
-
-               <xsl:variable name="rest-rtf">
-                       <xsl:call-template name="SkipTypeArgument">
-                               <xsl:with-param name="s" select="$arglist" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="rest" select="string($rest-rtf)" />
-
-               <xsl:choose>
-                       <xsl:when test="$arglist != '' and $rest = ''">
-                               <xsl:value-of select="$count" />
-                       </xsl:when>
-                       <xsl:when test="$arglist = '' and $rest = ''">
-                               <xsl:message terminate="yes">
-!WTF? arglist=<xsl:value-of select="$arglist" />; rest=<xsl:value-of select="$rest" />
-                               </xsl:message>
-                       </xsl:when>
-                       <xsl:when test="starts-with ($rest, '>')">
-                               <xsl:value-of select="$count" />
-                               <xsl:call-template name="GetEscapedTypeName">
-                                       <xsl:with-param name="typename" select="substring-after ($rest, '>')" />
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="starts-with ($rest, ',')">
-                               <xsl:call-template name="GetGenericArgumentCount">
-                                       <xsl:with-param name="arglist" select="substring-after ($rest, ',')" />
-                                       <xsl:with-param name="count" select="$count+1" />
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:message terminate="yes">
-!WTF 2? arglist=<xsl:value-of select="$arglist" />; rest=<xsl:value-of select="$rest" />
-                               </xsl:message>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="SkipTypeArgument">
-               <xsl:param name="s" />
-
-               <xsl:variable name="p-rtf">
-                       <xsl:call-template name="GetCLtGtPositions">
-                               <xsl:with-param name="s" select="$s" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="p" select="msxsl:node-set($p-rtf)"/>
-
-               <xsl:choose>
-                       <!--
-                       Have to select between three `s' patterns:
-                       A,B>: need to return ",B>"
-                       Foo<A,B>>: Need to forward to SkipGenericArgument to eventually return ">"
-                       Foo<A,B>+C>: Need to forward to SkipGenericArgument to eventually return ">"
-                       -->
-                       <xsl:when test="starts-with ($s, '>')">
-                               <xsl:message terminate="yes">
-SkipTypeArgument: invalid type substring '<xsl:value-of select="$s" />'
-                               </xsl:message>
-                       </xsl:when>
-                       <xsl:when test="$p/Comma/@Length > 0 and 
-                                       ($p/Lt/@Length = 0 or $p/Comma/@Length &lt; $p/Lt/@Length) and 
-                                       ($p/Gt/@Length > 0 and $p/Comma/@Length &lt; $p/Gt/@Length)">
-                               <xsl:text>,</xsl:text>
-                               <xsl:value-of select="substring-after ($s, ',')" />
-                       </xsl:when>
-                       <xsl:when test="$p/Lt/@Length > 0 and $p/Lt/@Length &lt; $p/Gt/@Length">
-                               <xsl:variable name="r">
-                                       <xsl:call-template name="SkipGenericArgument">
-                                               <xsl:with-param name="s" select="substring-after ($s, '&lt;')" />
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               <xsl:choose>
-                                       <xsl:when test="starts-with ($r, '>') or starts-with ($r, '+')">
-                                               <xsl:value-of select="substring-after ($r, '&gt;')" />
-                                       </xsl:when>
-                                       <xsl:when test="starts-with ($r, ',')">
-                                               <xsl:value-of select="$r" />
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:message>
-! WTF3: s=<xsl:value-of select="$s" />; r=<xsl:value-of select="$r" />
-                                               </xsl:message>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:when>
-                       <xsl:when test="$p/Gt/@Length > 0">
-                               <xsl:text>&gt;</xsl:text>
-                               <xsl:value-of select="substring-after ($s, '&gt;')" />
-                       </xsl:when>
-                       <xsl:otherwise><xsl:value-of select="$s" /></xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetCLtGtPositions">
-               <xsl:param name="s" />
-
-               <xsl:variable name="c"  select="substring-before ($s, ',')" />
-               <xsl:variable name="lt" select="substring-before ($s, '&lt;')" />
-               <xsl:variable name="gt" select="substring-before ($s, '&gt;')" />
-
-                       <Comma String="{$c}" Length="{string-length ($c)}" />
-                       <Lt String="{$lt}" Length="{string-length ($lt)}" />
-                       <Gt String="{$gt}" Length="{string-length ($gt)}" />
-       </xsl:template>
-
-       <!--
-       when given 'Foo<A,Bar<Baz<C,D,E>>>>', returns '>'
-       when given 'Bar<C>+Nested>', returns '>'
-       when given 'Foo<A,Bar<Baz<C,D,E>>>,', returns ','
-       (basically, it matches '<' to '>' and "skips" the intermediate type-name contents.
-         -->
-       <xsl:template name="SkipGenericArgument">
-               <xsl:param name="s" />
-
-               <xsl:variable name="p-rtf">
-                       <xsl:call-template name="GetCLtGtPositions">
-                               <xsl:with-param name="s" select="$s" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="p" select="msxsl:node-set($p-rtf)" />
-
-               <xsl:choose>
-                       <xsl:when test="starts-with ($s, '>')">
-                               <xsl:message terminate="yes">
-SkipGenericArgument: invalid type substring '<xsl:value-of select="$s" />'
-                               </xsl:message>
-                       </xsl:when>
-                       <xsl:when test="$p/Lt/@Length > 0 and $p/Lt/@Length &lt; $p/Gt/@Length">
-                               <!-- within 'Foo<A...'; look for matching '>' -->
-                               <xsl:variable name="r">
-                                       <xsl:call-template name="SkipGenericArgument">
-                                               <xsl:with-param name="s" select="substring-after ($s, '&lt;')" />
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               <xsl:value-of select="substring-after ($r, '&gt;')" />
-                       </xsl:when>
-                       <xsl:when test="$p/Gt/@Length > 0">
-                               <!--<xsl:value-of select="substring ($s, string-length ($gt)+1)" />-->
-                               <xsl:value-of select="substring-after ($s, '&gt;')" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$s" />
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetEscapedParameter">
-               <xsl:param name="orig-parameter-type" />
-               <xsl:param name="parameter-type" />
-               <xsl:param name="parameter-types" />
-               <xsl:param name="escape" />
-               <xsl:param name="index" />
-
-               <xsl:choose>
-                       <xsl:when test="$index &gt; count($parameter-types)">
-                               <xsl:if test="$parameter-type != $orig-parameter-type">
-                                       <xsl:value-of select="$parameter-type" />
-                               </xsl:if>
-                               <!-- ignore -->
-                       </xsl:when>
-                       <xsl:when test="$parameter-types[position() = $index]/@name = $parameter-type">
-                               <xsl:value-of select="concat ($escape, $index - 1)" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:variable name="typeparam" select="$parameter-types[position() = $index]/@name" />
-                               <xsl:call-template name="GetEscapedParameter">
-                                       <xsl:with-param name="orig-parameter-type" select="$orig-parameter-type" />
-                                       <xsl:with-param name="parameter-type">
-                                               <xsl:call-template name="Replace">
-                                                       <xsl:with-param name="s">
-                                                               <xsl:call-template name="Replace">
-                                                                       <xsl:with-param name="s">
-                                                                               <xsl:call-template name="Replace">
-                                                                                       <xsl:with-param name="s">
-                                                                                               <xsl:call-template name="Replace">
-                                                                                                       <xsl:with-param name="s" select="$parameter-type"/>
-                                                                                                       <xsl:with-param name="from" select="concat('&lt;', $typeparam, '&gt;')" />
-                                                                                                       <xsl:with-param name="to" select="concat('&lt;', $escape, $index - 1, '&gt;')" />
-                                                                                               </xsl:call-template>
-                                                                                       </xsl:with-param>
-                                                                                       <xsl:with-param name="from" select="concat('&lt;', $typeparam, ',')" />
-                                                                                       <xsl:with-param name="to" select="concat('&lt;', $escape, $index - 1, ',')" />
-                                                                               </xsl:call-template>
-                                                                       </xsl:with-param>
-                                                                       <xsl:with-param name="from" select="concat (',', $typeparam, '&gt;')" />
-                                                                       <xsl:with-param name="to" select="concat(',', $escape, $index - 1, '&gt;')" />
-                                                               </xsl:call-template>
-                                                       </xsl:with-param>
-                                                       <xsl:with-param name="from" select="concat (',', $typeparam, ',')" />
-                                                       <xsl:with-param name="to" select="concat(',', $escape, $index - 1, ',')" />
-                                               </xsl:call-template>
-                                       </xsl:with-param>
-                                       <xsl:with-param name="parameter-types" select="$parameter-types" />
-                                       <xsl:with-param name="typeparam" select="$typeparam" />
-                                       <xsl:with-param name="escape" select="$escape" />
-                                       <xsl:with-param name="index" select="$index + 1" />
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="GetLinkId">
-               <xsl:param name="type"/>
-               <xsl:param name="member"/>
-               <xsl:call-template name="GetLinkName">
-                       <xsl:with-param name="type" select="$type" />
-                       <xsl:with-param name="member" select="$member" />
-               </xsl:call-template>
-               <xsl:if test="count($member/Parameters/Parameter) &gt; 0 or $member/MemberType='Method' or $member/MemberType='Constructor'">
-                       <xsl:text>(</xsl:text>
-                       <xsl:for-each select="Parameters/Parameter">
-                               <xsl:if test="not(position()=1)">,</xsl:if>
-                               <xsl:call-template name="GetParameterType">
-                                       <xsl:with-param name="type" select="$type" />
-                                       <xsl:with-param name="member" select="$member" />
-                                       <xsl:with-param name="parameter" select="." />
-                               </xsl:call-template>
-                       </xsl:for-each>
-                       <xsl:text>)</xsl:text>
-               </xsl:if>
-               <xsl:if test="$member/@MemberName='op_Implicit' or $member/@MemberName='op_Explicit'">
-                       <xsl:text>~</xsl:text>
-                       <xsl:variable name="parameter-rtf">
-                               <Parameter Type="{$member/ReturnValue/ReturnType}" />
-                       </xsl:variable>
-                       <xsl:call-template name="GetParameterType">
-                               <xsl:with-param name="type" select="$type" />
-                               <xsl:with-param name="member" select="$member" />
-                               <xsl:with-param name="parameter" select="msxsl:node-set($parameter-rtf)/Parameter" />
-                       </xsl:call-template>
-               </xsl:if>
-       </xsl:template>
-
-       <!-- 
-         - what should be <xsl:value-of select="@Type" /> becomes a nightmare once
-               - generics enter the picture, since a parameter type could come from the
-               - type itelf (becoming `N) or from the method (becoming ``N).
-         -->
-       <xsl:template name="GetParameterType">
-               <xsl:param name="type" />
-               <xsl:param name="member" />
-               <xsl:param name="parameter" />
-
-               <!-- the actual parameter type -->
-               <xsl:variable name="ptype">
-                       <xsl:choose>
-                               <xsl:when test="contains($parameter/@Type, '[')">
-                                       <xsl:value-of select="substring-before ($parameter/@Type, '[')" />
-                               </xsl:when>
-                               <xsl:when test="contains($parameter/@Type, '&amp;')">
-                                       <xsl:value-of select="substring-before ($parameter/@Type, '&amp;')" />
-                               </xsl:when>
-                               <xsl:when test="contains($parameter/@Type, '*')">
-                                       <xsl:value-of select="substring-before ($parameter/@Type, '*')" />
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="$parameter/@Type" />
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-
-               <!-- parameter modifiers -->
-               <xsl:variable name="pmodifier">
-                       <xsl:call-template name="Replace">
-                               <xsl:with-param name="s" select="substring-after ($parameter/@Type, $ptype)" />
-                               <xsl:with-param name="from">&amp;</xsl:with-param>
-                               <xsl:with-param name="to">@</xsl:with-param>
-                       </xsl:call-template>
-               </xsl:variable>
-
-               <xsl:variable name="gen-type">
-                       <xsl:call-template name="GetEscapedParameter">
-                               <xsl:with-param name="orig-parameter-type" select="$ptype" />
-                               <xsl:with-param name="parameter-type">
-                                       <xsl:variable name="nested">
-                                               <xsl:call-template name="GetEscapedParameter">
-                                                       <xsl:with-param name="orig-parameter-type" select="$ptype" />
-                                                       <xsl:with-param name="parameter-type" select="$ptype" />
-                                                       <xsl:with-param name="parameter-types" select="$type/Docs/typeparam" />
-                                                       <xsl:with-param name="escape" select="'`'" />
-                                                       <xsl:with-param name="index" select="1" />
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <xsl:choose>
-                                               <xsl:when test="$nested != ''">
-                                                       <xsl:value-of select="$nested" />
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <xsl:value-of select="$ptype" />
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:with-param>
-                               <xsl:with-param name="parameter-types" select="$member/Docs/typeparam" />
-                               <xsl:with-param name="escape" select="'``'" />
-                               <xsl:with-param name="index" select="1" />
-                       </xsl:call-template>
-               </xsl:variable>
-
-               <!-- the actual parameter type -->
-               <xsl:variable name="parameter-type">
-                       <xsl:choose>
-                               <xsl:when test="$gen-type != ''">
-                                       <xsl:value-of select="$gen-type" />
-                                       <xsl:value-of select="$pmodifier" />
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="concat($ptype, $pmodifier)" />
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-
-               <!-- s/</{/g; s/>/}/g; so that less escaping is needed. -->
-               <xsl:call-template name="Replace">
-                       <xsl:with-param name="s">
-                               <xsl:call-template name="Replace">
-                                       <xsl:with-param name="s" select="translate ($parameter-type, '+', '.')" />
-                                       <xsl:with-param name="from">&gt;</xsl:with-param>
-                                       <xsl:with-param name="to">}</xsl:with-param>
-                               </xsl:call-template>
-                       </xsl:with-param>
-                       <xsl:with-param name="from">&lt;</xsl:with-param>
-                       <xsl:with-param name="to">{</xsl:with-param>
-               </xsl:call-template>
-       </xsl:template>
-
-       <xsl:template name="Replace">
-               <xsl:param name="s" />
-               <xsl:param name="from" />
-               <xsl:param name="to" />
-               <xsl:choose>
-                       <xsl:when test="not(contains($s, $from))">
-                               <xsl:value-of select="$s" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:variable name="prefix" select="substring-before($s, $from)"/>
-                               <xsl:variable name="suffix" select="substring-after($s, $from)" />
-                               <xsl:value-of select="$prefix" />
-                               <xsl:value-of select="$to" />
-                               <xsl:call-template name="Replace">
-                                       <xsl:with-param name="s" select="$suffix" />
-                                       <xsl:with-param name="from" select="$from" />
-                                       <xsl:with-param name="to" select="$to" />
-                               </xsl:call-template>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="getmodifiers">
-               <xsl:param name="sig"/>
-               <xsl:param name="protection" select="true()"/>
-               <xsl:param name="inheritance" select="true()"/>
-               <xsl:param name="extra" select="true()"/>
-               <xsl:param name="typetype" select="false()"/>
-
-               <xsl:variable name="Sig">
-                       <xsl:text> </xsl:text>
-                       <xsl:choose>
-                               <xsl:when test="contains($sig, '{')">
-                                       <xsl:value-of select="substring-before ($sig, '{')" />
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="$sig" />
-                               </xsl:otherwise>
-                       </xsl:choose>
-                       <xsl:text> </xsl:text>
-               </xsl:variable>
-
-               <xsl:if test="$protection">
-                       <xsl:if test="contains($Sig, ' public ')">public </xsl:if>
-                       <xsl:if test="contains($Sig, ' private ')">private </xsl:if>
-                       <xsl:if test="contains($Sig, ' protected ')">protected </xsl:if>
-                       <xsl:if test="contains($Sig, ' internal ')">internal </xsl:if>
-               </xsl:if>
-
-               <xsl:if test="contains($Sig, ' static ')">static </xsl:if>
-               <xsl:if test="contains($Sig, ' abstract ')">abstract </xsl:if>
-               <xsl:if test="contains($Sig, ' operator ')">operator </xsl:if>
-
-               <xsl:if test="contains($Sig, ' const ')">const </xsl:if>
-               <xsl:if test="contains($Sig, ' readonly ')">readonly </xsl:if>
-
-               <xsl:if test="$inheritance">
-                       <xsl:if test="contains($Sig, ' override ')">override </xsl:if>
-                       <xsl:if test="contains($Sig, ' new ')">new </xsl:if>
-               </xsl:if>
-
-               <xsl:if test="$extra">
-                       <xsl:if test="contains($Sig, ' sealed ')">sealed </xsl:if>
-                       <xsl:if test="contains($Sig, ' virtual ')">virtual </xsl:if>
-
-                       <xsl:if test="contains($Sig, ' extern ')">extern </xsl:if>
-                       <xsl:if test="contains($Sig, ' checked ')">checked </xsl:if>
-                       <xsl:if test="contains($Sig, ' unsafe ')">unsafe </xsl:if>
-                       <xsl:if test="contains($Sig, ' volatile ')">volatile </xsl:if>
-                       <xsl:if test="contains($Sig, ' explicit ')">explicit </xsl:if>
-                       <xsl:if test="contains($Sig, ' implicit ')">implicit </xsl:if>
-               </xsl:if>
-
-               <xsl:if test="$typetype">
-                       <xsl:if test="contains($Sig, ' class ')">class </xsl:if>
-                       <xsl:if test="contains($Sig, ' interface ')">interface </xsl:if>
-                       <xsl:if test="contains($Sig, ' struct ')">struct </xsl:if>
-                       <xsl:if test="contains($Sig, ' delegate ')">delegate </xsl:if>
-                       <xsl:if test="contains($Sig, ' enum ')">enum </xsl:if>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="GetTypeDescription">
-               <xsl:variable name="sig" select="TypeSignature[@Language='C#']/@Value"/>
-               <xsl:choose>
-                       <xsl:when test="contains($sig, ' class ')">Class</xsl:when>
-                       <xsl:when test="contains($sig, ' interface ')">Interface</xsl:when>
-                       <xsl:when test="contains($sig, ' struct ')">Struct</xsl:when>
-                       <xsl:when test="contains($sig, ' delegate ')">Delegate</xsl:when>
-                       <xsl:when test="contains($sig, ' enum ')">Enum</xsl:when>
-               </xsl:choose>
-       </xsl:template>
-       
-       <xsl:template match="since">
-               <p>
-                       <i>Note: This namespace, class, or member is supported only in version <xsl:value-of select="@version" />
-                       and later.</i>
-               </p>
-       </xsl:template>
-
-       <xsl:template name="GetLinkTargetHtml">
-               <xsl:param name="type" />
-               <xsl:param name="cref" />
-
-               <xsl:variable name="href">
-                       <xsl:call-template name="GetLinkTarget">
-                               <xsl:with-param name="type" select="$type" />
-                               <xsl:with-param name="cref" select="$cref" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:choose>
-                       <xsl:when test="string($href) = ''">
-                               <xsl:text>javascript:alert("Documentation not found.")</xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise><xsl:value-of select="$href" /></xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/mdoc-sections-css.xsl b/mcs/class/monodoc/Resources/mdoc-sections-css.xsl
deleted file mode 100644 (file)
index 2434062..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mdoc-sections-css.xsl: Common CSS implementation of mdoc-html-utils.xsl
-                              required functions.
-
-
-       Including XSLT files need to provide the following functions:
-
-               - CreateExpandedToggle()
-
-       Author: Jonathan Pryor  <jpryor@novell.com>
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:monodoc="monodoc:///extensions"
-       exclude-result-prefixes="monodoc"
-       >
-
-       <xsl:template name="CreateH2Section">
-               <xsl:param name="name" />
-               <xsl:param name="id" select="''" />
-               <xsl:param name="child-id" select="generate-id (.)" />
-               <xsl:param name="content" />
-
-               <h2 class="Section">
-                       <xsl:if test="$id != ''">
-                               <xsl:attribute name="id">
-                                       <xsl:value-of select="$id" />
-                               </xsl:attribute>
-                       </xsl:if>
-                       <xsl:value-of select="$name" />
-               </h2>
-               <div class="SectionBox" id="{$child-id}">
-                       <xsl:copy-of select="$content" />
-               </div>
-       </xsl:template>
-
-       <xsl:template name="CreateH3Section">
-               <xsl:param name="name" />
-               <xsl:param name="id" select="''" />
-               <xsl:param name="class" select="''" />
-               <xsl:param name="child-id" select="generate-id (.)" />
-               <xsl:param name="content" />
-
-               <h3>
-                       <xsl:if test="$class != ''">
-                               <xsl:attribute name="class">
-                                       <xsl:value-of select="$class" />
-                               </xsl:attribute>
-                       </xsl:if>
-                       <xsl:if test="$id != ''">
-                               <xsl:attribute name="id">
-                                       <xsl:value-of select="$id" />
-                               </xsl:attribute>
-                       </xsl:if>
-                       <xsl:value-of select="$name" />
-               </h3>
-               <blockquote id="{$child-id}">
-                       <xsl:copy-of select="$content" />
-               </blockquote>
-       </xsl:template>
-
-       <xsl:template name="CreateH4Section">
-               <xsl:param name="name" />
-               <xsl:param name="id" select="''" />
-               <xsl:param name="child-id" select="generate-id (.)" />
-               <xsl:param name="content" />
-
-               <h4 class="Subsection">
-                       <xsl:if test="$id != ''">
-                               <xsl:attribute name="id">
-                                       <xsl:value-of select="$id" />
-                               </xsl:attribute>
-                       </xsl:if>
-                       <xsl:value-of select="$name" />
-               </h4>
-               <blockquote class="SubsectionBox" id="{$child-id}">
-                       <xsl:copy-of select="$content" />
-               </blockquote>
-       </xsl:template>
-
-       <xsl:template name="CreateEnumerationTable">
-               <xsl:param name="content" />
-               <table class="Enumeration">
-                       <tr><th>Member Name</th><th>Description</th></tr>
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateHeader">
-               <xsl:param name="content" />
-               <xsl:copy-of select="$content" />
-       </xsl:template>
-
-       <xsl:template name="CreateListTable">
-               <xsl:param name="header" />
-               <xsl:param name="content" />
-               <table class="Documentation">
-                       <tr><xsl:copy-of select="$header" /></tr>
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateMembersTable">
-               <xsl:param name="content" />
-               <table class="TypeMembers">
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateSignature">
-               <xsl:param name="content" />
-               <xsl:param name="id" />
-               <h2>Syntax</h2>
-               <div class="Signature">
-      <xsl:if test="$id != ''">
-        <xsl:attribute name="id">
-          <xsl:copy-of select="$id" />
-        </xsl:attribute>
-      </xsl:if>
-                       <xsl:copy-of select="$content" />
-               </div>
-       </xsl:template>
-
-       <xsl:template name="CreateTypeDocumentationTable">
-               <xsl:param name="content" />
-               <table class="TypeDocumentation">
-               <tr><th>Type</th><th>Reason</th></tr>
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/mcs/class/monodoc/Resources/mdoc-sections.xsl b/mcs/class/monodoc/Resources/mdoc-sections.xsl
deleted file mode 100644 (file)
index 894faea..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mdoc-sections.xsl: Common non-CSS implementation of mdoc-html-utils.xsl
-                          required functions.
-
-       Author: Jonathan Pryor  <jpryor@novell.com>
-
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:monodoc="monodoc:///extensions"
-       exclude-result-prefixes="monodoc"
-       >
-       <xsl:template name="CreateH2Section">
-               <xsl:param name="name" />
-               <xsl:param name="id" select="''" />
-               <xsl:param name="child-id" select="generate-id (.)" />
-               <xsl:param name="content" />
-
-               <h2 class="Section">
-                       <xsl:value-of select="$name" />
-               </h2>
-               <blockquote id="{$child-id}">
-                       <xsl:copy-of select="$content" />
-               </blockquote>
-       </xsl:template>
-
-       <xsl:template name="CreateH3Section">
-               <xsl:param name="name" />
-               <xsl:param name="id" select="''" />
-               <xsl:param name="class" select="''" />
-               <xsl:param name="child-id" select="generate-id (.)" />
-               <xsl:param name="content" />
-
-               <h3>
-                       <xsl:value-of select="$name" />
-               </h3>
-               <blockquote id="{$child-id}">
-                       <xsl:copy-of select="$content" />
-               </blockquote>
-       </xsl:template>
-
-       <xsl:template name="CreateH4Section">
-               <xsl:param name="name" />
-               <xsl:param name="id" select="''" />
-               <xsl:param name="child-id" select="generate-id (.)" />
-               <xsl:param name="content" />
-
-               <h4 class="Subsection">
-                       <xsl:value-of select="$name" />
-               </h4>
-               <blockquote class="SubsectionBox" id="{$child-id}">
-                       <xsl:copy-of select="$content" />
-               </blockquote>
-       </xsl:template>
-
-       <xsl:template name="CreateEnumerationTable">
-               <xsl:param name="content" />
-               <table class="EnumerationsTable" border="1" cellpadding="10" width="100%">
-                       <tr bgcolor="#f2f2f2">
-                               <th>Member Name</th>
-                               <th>Description</th>
-                       </tr>
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateHeader">
-               <xsl:param name="content" />
-               <table class="HeaderTable" width="100%" cellpadding="5">
-                       <tr bgcolor="#b0c4de">
-                               <td>
-                                       <xsl:copy-of select="$content" />
-                               </td>
-                       </tr>
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateListTable">
-               <xsl:param name="header" />
-               <xsl:param name="content" />
-               <table border="1" cellpadding="3" width="100%">
-                       <tr bgcolor="#f2f2f2" valign="top">
-                               <xsl:copy-of select="$header" />
-                       </tr>
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateMembersTable">
-               <xsl:param name="content" />
-               <table border="1" cellpadding="6" width="100%">
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateSignature">
-               <xsl:param name="content" />
-               <xsl:param name="id" />
-               <table class="SignatureTable" bgcolor="#c0c0c0" cellspacing="0" width="100%">
-                 <xsl:attribute name="id">
-                       <xsl:copy-of select="$id" />
-                 </xsl:attribute>
-               <tr><td>
-                       <table class="InnerSignatureTable" cellpadding="10" cellspacing="0" width="100%">
-                       <tr bgcolor="#f2f2f2">
-                               <td>
-                               <xsl:copy-of select="$content" />
-                       </td></tr>
-                       </table>
-               </td></tr>
-               </table>
-               <br />
-       </xsl:template>
-       
-       <xsl:template name="CreateTypeDocumentationTable">
-               <xsl:param name="content" />
-               <table class="TypePermissionsTable" border="1" cellpadding="6" width="100%">
-               <tr bgcolor="#f2f2f2"><th>Type</th><th>Reason</th></tr>
-                       <xsl:copy-of select="$content" />
-               </table>
-       </xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/mono-ecma-css.xsl b/mcs/class/monodoc/Resources/mono-ecma-css.xsl
deleted file mode 100644 (file)
index 017699d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mono-ecma-css.xsl: ECMA-style docs to HTML+CSS stylesheet trasformation
-       based on mono-ecma.xsl by Joshua Tauberer
-
-       Author: Joshua Tauberer (tauberer@for.net)
-       Author: Mario Sopena Novales (mario.sopena@gmail.com)
-
-       TODO:
-               split this into multiple files
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:monodoc="monodoc:///extensions"
-       exclude-result-prefixes="monodoc"
-       >
-       <xsl:include href="mdoc-sections-css.xsl" />
-       <xsl:include href="mono-ecma-impl.xsl" />
-       
-       <xsl:output omit-xml-declaration="yes" />
-
-       <xsl:template name="CreateExpandedToggle">
-               <img src="xtree/images/clean/Lminus.gif" border="0" align="top"/>
-       </xsl:template>
-
-       <xsl:template name="CreateCodeBlock">
-               <xsl:param name="language" />
-               <xsl:param name="content" />
-
-               <div class="CodeExample">
-                       <p><b><xsl:value-of select="$language"/> Example</b></p>
-                       <div>
-                       <pre>
-                               <!--
-                               <xsl:value-of select="monodoc:Colorize($content, string($language))" 
-                                       disable-output-escaping="yes" />
-                                 -->
-                               <xsl:value-of select="$content" />
-                       </pre>
-                       </div>
-               </div>
-       </xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/mono-ecma-impl.xsl b/mcs/class/monodoc/Resources/mono-ecma-impl.xsl
deleted file mode 100644 (file)
index a34c39d..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mono-ecma-impl.xsl: ECMA-style docs to HTML stylesheet trasformation
-
-       Author: Joshua Tauberer (tauberer@for.net)
-       Author: Jonathan Pryor (jpryor@novell.com)
-
-       This file requires that including files define the following callable
-       templates:
-               - CreateCodeBlock (language, content)
-               - CreateEnumerationTable (content)
-               - CreateHeader (content)
-               - CreateListTable (header, content)
-               - CreateMembersTable (content)
-               - CreateSignature (content)
-               - CreateTypeDocumentationTable (content)
-
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:monodoc="monodoc:///extensions"
-       exclude-result-prefixes="monodoc"
-       >
-       <xsl:include href="mdoc-html-utils.xsl" />
-       
-       <!-- TEMPLATE PARAMETERS -->
-
-       <xsl:param name="show"/>
-       <xsl:param name="membertype"/>
-       <xsl:param name="namespace"/>
-
-       <!-- THE MAIN RENDERING TEMPLATE -->
-
-       <xsl:template match="Type|elements">
-               <!-- The namespace that the current type belongs to. -->
-               <xsl:variable name="TypeNamespace" select="substring(@FullName, 1, string-length(@FullName) - string-length(@Name) - 1)"/>
-
-               <!-- HEADER -->
-
-               <xsl:variable name="typename" select="translate (@FullName, '+', '.')" />
-               <xsl:variable name="typelink">
-                       <xsl:call-template name="GetEscapedTypeName">
-                               <xsl:with-param name="typename" select="@FullName" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="basename">
-                       <xsl:if test="Base/BaseTypeName">
-                               <xsl:value-of select="translate (Base/BaseTypeName, '+', '.')" />
-                       </xsl:if>
-               </xsl:variable>
-               <xsl:variable name="baselink">
-                       <xsl:if test="Base/BaseTypeName">
-                               <xsl:call-template name="GetEscapedTypeName">
-                                       <xsl:with-param name="typename" select="Base/BaseTypeName" />
-                               </xsl:call-template>
-                       </xsl:if>
-               </xsl:variable>
-
-               <xsl:call-template name="CreateHeader">
-                       <xsl:with-param name="content">
-                         <ul class="breadcrumb">
-                               <xsl:choose>
-                                       <xsl:when test="$show='masteroverview'">
-                                               <li class="namespace">
-                                                 <xsl:text>Namespaces in this Collection</xsl:text>
-                                               </li>
-                                       </xsl:when>
-                                       <xsl:when test="$show='typeoverview'">
-                                               <li class="namespace">
-                                               <a>
-                                                       <xsl:attribute name="href">N:<xsl:value-of select="$TypeNamespace"/></xsl:attribute>
-                                                       <xsl:value-of select="$TypeNamespace"/></a>
-                                               </li>
-                                               <li class="pubclass">
-                                                       <xsl:value-of select="@Name"/>
-                                               </li>
-                                       </xsl:when>
-                                       <xsl:when test="$show='members'">
-                                               <li class="namespace">
-                                                 <a>
-                                                   <xsl:attribute name="href">N:<xsl:value-of select="$TypeNamespace"/></xsl:attribute>
-                                                   <xsl:value-of select="$TypeNamespace"/>
-                                                 </a>
-                                               </li>
-                                               <li class="pubclass">
-                                                 <a>
-                                                       <xsl:attribute name="href">
-                                                               <xsl:text>T:</xsl:text>
-                                                               <xsl:value-of select="$typelink" />
-                                                       </xsl:attribute>                                                  
-                                                       <xsl:value-of select="@Name"/>
-                                                 </a>
-                                               </li>
-                                               <li class="members">
-                                                 Members
-                                               </li>
-                                       </xsl:when>
-                                       <xsl:when test="$show='member' or $show='overloads'">
-                                               <li class="namespace">
-                                               <a>
-                                                       <xsl:attribute name="href">N:<xsl:value-of select="$TypeNamespace"/></xsl:attribute>
-                                                       <xsl:value-of select="$TypeNamespace"/></a>
-                                               </li>
-                                               <li class="pubclass">
-                                                 <a>
-                                                       <xsl:attribute name="href">
-                                                               <xsl:text>T:</xsl:text>
-                                                               <xsl:value-of select="$typelink" />
-                                                       </xsl:attribute>                                                  
-                                                       <xsl:value-of select="@Name"/>
-                                                 </a>
-                                               </li>
-                                               <li class="pubproperty">
-                                                 <xsl:choose>
-                                                 <xsl:when test="$membertype='Operator'">
-                                                       <xsl:value-of select="$typename"/>
-                                                       <xsl:value-of select="' '"/> <!-- hard space -->
-                                                       <xsl:value-of select="substring-after(Members/Member[MemberType='Method'][position()=$index+1]/@MemberName, 'op_')"/>
-                                                 </xsl:when>
-                                                 <xsl:when test="$membertype='Constructor'">
-                                                       <xsl:value-of select="$typename"/>
-                                                 </xsl:when>
-                                                 <xsl:otherwise>
-                                                       <xsl:value-of select="Members/Member[MemberType=$membertype][position()=$index+1]/@MemberName"/>
-                                                 </xsl:otherwise>
-                                                 </xsl:choose>
-                                               </li>
-                                       </xsl:when>
-                                       <xsl:when test="$show='namespace'">
-                                               <li class="namespace">
-                                                 <xsl:value-of select="$namespace"/>
-                                               </li>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </ul>
-                       <div class="named-header">
-                               <xsl:choose>
-                                       <xsl:when test="$show='masteroverview'">
-                                               <xsl:text>Master Overview</xsl:text>
-                                       </xsl:when>
-                                       <xsl:when test="$show='typeoverview'">
-                                               <xsl:value-of select="$typename"/>
-                                               <xsl:value-of select="' '"/>
-                                               <xsl:call-template name="gettypetype"/>
-                                       </xsl:when>
-                                       <xsl:when test="$show='members' and $membertype='All'">
-                                               <xsl:value-of select="$typename"/>
-                                               <xsl:text> Members</xsl:text>
-                                       </xsl:when>
-                                       <xsl:when test="$show='members'">
-                                               <xsl:value-of select="$typename"/>
-                                               <xsl:text>: </xsl:text>
-                                               <xsl:value-of select="$membertype"/>
-                                               <xsl:text> Members</xsl:text>
-                                       </xsl:when>
-                                       <xsl:when test="$show='member'">
-                                               <xsl:choose>
-                                               <xsl:when test="$membertype='Operator'">
-                                                       <xsl:value-of select="$typename"/>
-                                                       <xsl:value-of select="' '"/> <!-- hard space -->
-                                                       <xsl:value-of select="substring-after(Members/Member[MemberType='Method'][position()=$index+1]/@MemberName, 'op_')"/>
-                                               </xsl:when>
-                                               <xsl:when test="$membertype='Constructor'">
-                                                       <xsl:value-of select="$typename"/>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <xsl:value-of select="$typename"/>.<xsl:value-of select="Members/Member[MemberType=$membertype][position()=$index+1]/@MemberName"/>
-                                               </xsl:otherwise>
-                                               </xsl:choose>
-                                               <xsl:value-of select="' '"/>
-                                               <xsl:value-of select="$membertype"/>
-                                       </xsl:when>
-
-                                       <xsl:when test="$show='namespace'">
-                                               <xsl:value-of select="$namespace"/>
-                                               <xsl:text> Namespace</xsl:text>
-                                       </xsl:when>
-                                       
-                                       <xsl:when test="$show='overloads'">
-                                               <xsl:value-of select="$typename"/>.<xsl:value-of select="$index"/> Overloads
-                                       </xsl:when>
-
-                               </xsl:choose>
-                       </div>
-                       </xsl:with-param>
-               </xsl:call-template>
-
-               <!-- SELECT WHAT TYPE OF VIEW:
-                               typeoverview
-                               members
-                               member
-                               -->
-               <div class="Content">
-               <xsl:choose>
-               <xsl:when test="$show='masteroverview'">
-               
-                       <xsl:for-each select="namespace">
-                               <xsl:sort select="@ns"/>
-                               
-                               <!-- Don't display the namespace if it is a sub-namespace of another one.
-                                    But don't consider namespaces without periods, e.g. 'System', to be
-                                        parent namespaces because then most everything will get grouped under it. -->
-                               <xsl:variable name="ns" select="@ns"/>
-                               <xsl:if test="count(parent::*/namespace[not(substring-before(@ns, '.')='') and starts-with($ns, concat(@ns, '.'))])=0">
-
-                               <p>
-                                       <b><a href="N:{@ns}"><xsl:value-of select="@ns"/></a></b>
-                               </p>
-                               <blockquote>
-                                       <div>
-                                       <xsl:apply-templates select="summary" mode="notoppara"/>
-                                       </div>
-                                       
-                                       <!-- Display the sub-namespaces of this namespace -->
-                                       <xsl:if test="not(substring-before($ns, '.')='')">
-                                       <xsl:for-each select="parent::*/namespace[starts-with(@ns, concat($ns, '.'))]">
-                                               <br/>
-                                               <div><a href="N:{@ns}"><xsl:value-of select="@ns"/></a></div>
-                                               <div><xsl:apply-templates select="summary" mode="notoppara"/></div>                                             
-                                       </xsl:for-each>
-                                       </xsl:if>
-                               </blockquote>
-                               
-                               </xsl:if>
-                       </xsl:for-each>
-                       
-               </xsl:when>
-               <!-- TYPE OVERVIEW -->
-               <xsl:when test="$show='typeoverview'">
-                       <xsl:variable name="implemented" select="monodoc:MonoImpInfo(string(AssemblyInfo/AssemblyName), string(@FullName), true())" />
-                       <xsl:call-template name="CreateTypeOverview">
-                               <xsl:with-param name="implemented" select="$implemented" />
-                               <xsl:with-param name="show-members-link" select="true()" />
-                       </xsl:call-template>
-                       
-
-                       <!-- signature -->
-                       <xsl:call-template name="CreateTypeSignature" />
-
-                       <xsl:call-template name="DisplayDocsInformation">
-                               <xsl:with-param name="linkid" select="concat ('T:', @FullName)" />
-                       </xsl:call-template>
-               </xsl:when>
-
-               <!-- MEMBER LISTING -->
-               <xsl:when test="$show='members'">
-                       <xsl:if test="$membertype='All'">
-                               <p>
-                                       The members of <xsl:value-of select="$typename"/> are listed below.
-                               </p>
-
-                               <xsl:if test="Base/BaseTypeName">
-                                       <p>
-                                               <xsl:text>See Also: </xsl:text>
-                                               <a>
-                                                       <xsl:attribute name="href">T:<xsl:value-of select="$baselink"/>/*</xsl:attribute>
-                                                       <xsl:text>Inherited members from </xsl:text>
-                                                       <xsl:value-of select="$basename"/>
-                                               </a>
-                                       </p>
-                               </xsl:if>
-
-                               <ul class="TypeMembersIndex">
-                                       <xsl:if test="count(Members/Member[MemberType='Constructor'])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/C</xsl:attribute>Constructors</a>
-                                               </li>
-                                       </xsl:if>
-                                       <xsl:if test="count(Members/Member[MemberType='Field'])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/F</xsl:attribute>Fields</a>
-                                               </li>
-                                       </xsl:if>
-                                       <xsl:if test="count(Members/Member[MemberType='Property'])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/P</xsl:attribute>Properties</a>
-                                               </li>
-                                       </xsl:if>
-                                       <xsl:if test="count(Members/Member[MemberType='Method' and not(starts-with(@MemberName,'op_'))])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/M</xsl:attribute>Methods</a>
-                                               </li>
-                                       </xsl:if>
-                                       <xsl:if test="count(Members/Member[MemberType='Event'])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/E</xsl:attribute>Events</a>
-                                               </li>
-                                       </xsl:if>
-                                       <xsl:if test="count(Members/Member[MemberType='Method' and starts-with(@MemberName,'op_')])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/E</xsl:attribute>Events</a>
-                                               </li>
-                                       </xsl:if>
-                                       <xsl:if test="count(Members/Member[MemberType='ExtensionMethod'])">
-                                               <li>
-                                                       <a><xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/X</xsl:attribute>Extension Methods</a>
-                                               </li>
-                                       </xsl:if>
-                               </ul>
-
-                               <!-- list each type of member (public, then protected) -->
-
-                               <xsl:call-template name="ListAllMembers" />
-                       </xsl:if>
-
-                       <xsl:if test="not($membertype='All')">
-                               <!-- list the members of this type (public, then protected) -->
-
-                               <p>
-                                       The
-                                       <xsl:call-template name="membertypeplurallc"><xsl:with-param name="name" select="$membertype"/></xsl:call-template>
-                                       of <xsl:value-of select="$typename"/> are listed below.  For a list of all members, see the <a>
-                                       <xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/*</xsl:attribute>
-                                       <xsl:value-of select="@Name"/> Members</a> list.
-                               </p>
-                               
-                               <xsl:if test="Base/BaseTypeName">
-                                       <p>
-                                               <xsl:text>See Also: </xsl:text>
-                                               <a>
-                                                       <xsl:attribute name="href">T:<xsl:value-of select="$baselink"/>/*</xsl:attribute>
-                                                       <xsl:text>Inherited members from </xsl:text>
-                                                       <xsl:value-of select="$basename"/>
-                                               </a>
-                                       </p>
-                               </xsl:if>
-
-                               <xsl:call-template name="ListMembers">
-                                       <xsl:with-param name="listmembertype" select="$membertype"/>
-                                       <xsl:with-param name="showprotected" select="false()"/>
-                               </xsl:call-template>
-
-                               <xsl:call-template name="ListMembers">
-                                       <xsl:with-param name="listmembertype" select="$membertype"/>
-                                       <xsl:with-param name="showprotected" select="true()"/>
-                               </xsl:call-template>
-                       </xsl:if>
-
-               </xsl:when>
-               
-               <xsl:when test="$show='overloads'">
-                               <p>
-                                       The overloads of <xsl:value-of select="$index"/>
-                                       are listed below.  For a list of all members, see the <a>
-                                       <xsl:attribute name="href">T:<xsl:value-of select="$typelink"/>/*</xsl:attribute>
-                                       <xsl:value-of select="@Name"/> Members</a> list.
-                               </p>
-                               
-                               <!-- TODO: can we make this actually test if there are any overloads
-                               <xsl:if test="Base/BaseTypeName">
-                                       <p>
-                                               See Also: <a>
-                                       <xsl:attribute name="href">T:<xsl:value-of select="Base/BaseTypeName"/>/*</xsl:attribute>
-                                       Inherited members</a> from <xsl:value-of select="Base/BaseTypeName"/>
-                                       </p>
-                               </xsl:if>
-                                -->
-                                
-                               <xsl:call-template name="ListMembers">
-                                       <xsl:with-param name="listmembertype" select="$membertype"/>
-                                       <xsl:with-param name="showprotected" select="false()"/>
-                                       <xsl:with-param name="overloads-mode" select="true()"/>
-                               </xsl:call-template>
-
-                               <xsl:call-template name="ListMembers">
-                                       <xsl:with-param name="listmembertype" select="$membertype"/>
-                                       <xsl:with-param name="showprotected" select="true()"/>
-                                       <xsl:with-param name="overloads-mode" select="true()"/>
-                               </xsl:call-template>
-               </xsl:when>
-               <!-- MEMBER DETAILS -->
-               <xsl:when test="$show='member'">
-                       <xsl:variable name="Type" select="."/>
-
-                       <!-- select the member, this just loops through the one member that we are to display -->
-                       <xsl:for-each select="Members/Member[MemberType=$membertype or ($membertype='Operator' and MemberType='Method')][position()=$index+1]">
-
-                               <!-- summary -->
-                               
-                               <xsl:call-template name="CreateMemberOverview">
-                                       <xsl:with-param name="implemented" select="monodoc:MonoImpInfo(string(AssemblyInfo/AssemblyName), string(@FullName), true())" />
-                               </xsl:call-template>
-
-                               <xsl:call-template name="CreateMemberSignature">
-                                       <xsl:with-param name="linkid" select="concat ('T:', @FullName)" />
-                               </xsl:call-template>
-
-                               <div class="MemberBox">
-                                       <xsl:call-template name="DisplayDocsInformation">
-                                               <xsl:with-param name="linkid" select="concat ('T:', @FullName)" />
-                                       </xsl:call-template>
-                               </div>
-
-                       </xsl:for-each>
-
-               </xsl:when>
-
-               <!-- NAMESPACE SUMMARY -->
-               <xsl:when test="$show='namespace'">
-
-                       <!-- summary -->
-
-                       <p><div class="msummary"><xsl:apply-templates select="summary" mode="notoppara"/></div>
-                               
-                               <xsl:if test="monodoc:MonoEditing()">
-                                       <xsl:value-of select="' '" />
-                                       [<a href="{monodoc:EditUrlNamespace (., $namespace, 'summary')}">Edit</a>]
-                               </xsl:if>
-                       </p>
-
-                       <!-- remarks -->
-
-                       <xsl:if test="not(remarks = '')">
-                               <h2>Remarks</h2>
-                               <div class="SectionBox">
-                                       <xsl:apply-templates select="remarks"/>
-                                       <xsl:if test="monodoc:MonoEditing()">
-                                               <xsl:value-of select="' '" />
-                                               [<a href="{monodoc:EditUrlNamespace (., $namespace, 'remarks')}">Edit</a>]
-                                       </xsl:if>
-                               </div>
-                       </xsl:if>
-               
-                       <xsl:call-template name="namespacetypes">
-                               <xsl:with-param name="typetype" select="'class'"/>
-                               <xsl:with-param name="typetitle" select="'Classes'"/>
-                       </xsl:call-template>
-
-                       <xsl:call-template name="namespacetypes">
-                               <xsl:with-param name="typetype" select="'interface'"/>
-                               <xsl:with-param name="typetitle" select="'Interfaces'"/>
-                       </xsl:call-template>
-
-                       <xsl:call-template name="namespacetypes">
-                               <xsl:with-param name="typetype" select="'struct'"/>
-                               <xsl:with-param name="typetitle" select="'Structs'"/>
-                       </xsl:call-template>
-
-                       <xsl:call-template name="namespacetypes">
-                               <xsl:with-param name="typetype" select="'delegate'"/>
-                               <xsl:with-param name="typetitle" select="'Delegates'"/>
-                       </xsl:call-template>
-
-                       <xsl:call-template name="namespacetypes">
-                               <xsl:with-param name="typetype" select="'enum'"/>
-                               <xsl:with-param name="typetitle" select="'Enumerations'"/>
-                       </xsl:call-template>
-
-                       
-               </xsl:when>
-
-               <!-- don't know what kind of page this is -->
-               <xsl:otherwise>
-                       Don't know what to do!
-               </xsl:otherwise>
-
-               </xsl:choose>
-               </div>
-               
-               <!-- FOOTER -->
-               
-               <div class="Footer">
-               </div>
-
-       </xsl:template>
-
-       <xsl:template name="GetLinkTarget">
-               <xsl:param name="type" />
-               <xsl:param name="cref" />
-
-               <xsl:value-of select="$cref" />
-       </xsl:template>
-
-       <xsl:template name="namespacetypes">
-               <xsl:param name="typetype"/>
-               <xsl:param name="typetitle"/>
-
-               <xsl:variable name="NODES" select="*[name()=$typetype]"/>
-
-               <xsl:if test="count($NODES)">
-
-               <xsl:call-template name="CreateH2Section">
-                       <xsl:with-param name="name" select="$typetitle" />
-                       <xsl:with-param name="child-id" select="$typetitle" />
-                       <xsl:with-param name="content">
-               
-               <xsl:call-template name="CreateTypeDocumentationTable">
-               <xsl:with-param name="content">
-                       <xsl:for-each select="$NODES">
-                               <xsl:sort select="@name"/>
-
-                               <tr>
-                                       <td>
-                                               <a>
-                                                       <xsl:attribute name="href">
-                                                               <xsl:text>T:</xsl:text>
-                                                               <xsl:call-template name="GetEscapedTypeName">
-                                                                       <xsl:with-param name="typename" select="@fullname" />
-                                                               </xsl:call-template>
-                                                       </xsl:attribute>
-                                                       <xsl:value-of select="@name"/>
-                                               </a>
-
-                                               <xsl:variable name="containingtype" select="substring-before(@fullname, concat('+',@name))"/>
-                                               <xsl:if test="$containingtype">
-                                               <br/>(in
-                                                       <xsl:call-template name="maketypelink">
-                                                               <xsl:with-param name="type" select="$containingtype"/>
-                                                               <xsl:with-param name="wrt" select="$namespace"/>
-                                                       </xsl:call-template>)
-                                               </xsl:if>
-                                       </td>
-                                       <td>
-                                               <xsl:apply-templates select="summary" mode="notoppara"/>
-                                               <xsl:variable name="MonoImplInfo" select="monodoc:MonoImpInfo(string(@assembly), string(@fullname), false())"/>
-                                               <xsl:if test="$MonoImplInfo"><br/><b><xsl:value-of disable-output-escaping="yes" select="$MonoImplInfo"/></b></xsl:if>
-                                       </td>
-                               </tr>
-                       </xsl:for-each>
-               </xsl:with-param>
-               </xsl:call-template>
-                       </xsl:with-param>
-               </xsl:call-template>
-
-               </xsl:if>
-       </xsl:template>
-       
-       <xsl:template name="CreateEditLink">
-               <xsl:param name="e" />
-               <xsl:if test="monodoc:MonoEditing()">
-                       <xsl:value-of select="' '" />
-                       [<a href="{monodoc:EditUrl ($e)}">Edit</a>]
-               </xsl:if>
-       </xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/mono-ecma.css b/mcs/class/monodoc/Resources/mono-ecma.css
deleted file mode 100644 (file)
index ae6e192..0000000
+++ /dev/null
@@ -1,607 +0,0 @@
-body
-{
-    font-family: "Lucida Grande", Geneva, Helvetica, Arial, Verdana, Sans-Serif;
-    margin: 0;
-    padding: 0;
-    color: #555;
-}
-
-a:link
-{
-    color: #034af3;
-    text-decoration: underline;
-}
-a:visited
-{
-    color: #505abc;
-}
-a:hover
-{
-    color: #1d60ff;
-    text-decoration: none;
-}
-a:active
-{
-    color: #12eb87;
-}
-
-pre
-{
-    font-family: Consolas, "Courier New", Monospace;
-    border: 1px solid #CCCCCC;
-    background-color: #F7F7F7;
-    padding: 7px;
-    /*margin: 0 20px 0 20px;*/
-    line-height: 1.3em;
-    -moz-border-radius: 3px;
-    -webkit-border-radius: 3px;
-    border-radius: 3px;
-}
-
-img
-{
-    border: 0px;
-}
-
-/* HEADINGS   
-----------------------------------------------------------*/
-h1, h2, h3, h4, h5, h6
-{
-    color: #333;
-    font-family: Arial, Helvetica, sans-serif;
-}
-
-h1
-{
-    font-size: 16pt;
-    padding-bottom: 0;
-    margin-bottom: 0;
-}
-h2
-{
-    font-size: 14pt;
-    padding: 0 0 1px 0;
-    border-bottom: 1px solid #DDDDDD;
-    margin-top: .3em;
-    margin-bottom: .5em;
-}
-h3
-{
-    font-size: 12pt;
-    /*margin-top: 20px;*/
-    margin-bottom: 5px;
-}
-h4
-{
-    font-size: 11pt;
-    margin-bottom: 5px;
-}
-h5, h6
-{
-    font-size: 10pt;
-}
-
-/* this rule styles <h2> tags that are the 
-first child of the left and right table columns */
-.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
-{
-    margin-top: 0;
-}
-
-/* PRIMARY LAYOUT ELEMENTS   
-----------------------------------------------------------*/
-
-/* you can specify a greater or lesser percentage for the 
-page width. Or, you can specify an exact pixel width. */
-.page
-{
-    padding: 0;
-    margin: 0;
-}
-
-#header
-{
-    position: relative;
-    margin-bottom: 0px;
-    color: #000;
-    padding: 0 0 0 15px;
-    background: url('mdocimages/headerbg.png');
-    background-position: right;
-    background-repeat: no-repeat;
-    background-color: #679EF1;
-    height: 40px;
-    border-bottom: 1px solid #98C2F7;
-    border-bottom: 1px dotted #3363BD;
-}
-
-#header h1
-{
-    font-weight: bold;
-    padding: 0;
-    margin: 0;
-    color: #fff;
-    border: none;
-    line-height: 1.8em;
-    font-family: Arial, Helvetica, sans-serif;
-    font-size: 22px !important;
-}
-
-#main
-{
-    padding: 0px 0px 15px 0px;
-    background-color: #fff;
-    margin-bottom: 30px;
-    _height: 1px; /* only IE6 applies CSS properties starting with an underscore */
-}
-
-#footer
-{
-    color: #999;
-    padding: 10px 0;
-    text-align: center;
-    line-height: normal;
-    margin: 0;
-    font-size: 8pt;
-}
-
-#line-background
-{
-    background-image: url('mdocimages/treebg.png');
-    background-repeat: repeat-y;
-    height: 100%;
-}
-
-#left-content
-{
-    float: left;
-    width: 186px;
-    padding-top: 5px;
-    margin-right: 5px;
-    overflow: hidden;
-}
-
-#right-content
-{
-    padding-top: 0px;
-    overflow: auto;
-    height: 100%;
-}
-
-.right-content-pad
-{
-    margin: 6px 10px 0px 10px;
-}
-
-.named-header
-{
-    background: url('mdocimages/hatch.png') repeat-x left bottom;
-    height: 48px;
-    background-color: #FAFBFD;
-    font-size: 16pt;
-    font-weight: bold;
-    font-family: 'Segoe UI',Verdana,Arial, sans-serif;
-}
-
-.member-list
-{
-    border-spacing: 0px;
-}
-
-.member-list td
-{
-    padding: 4px;
-    margin: 0px;
-    border-bottom: 1px dotted #CCCCCC;
-}
-
-.member-list
-{
-    
-}
-/* TAB MENU   
-----------------------------------------------------------*/
-ul#menu
-{
-    border-bottom: 1px #5C87B2 solid;
-    padding: 0 0 2px;
-    position: relative;
-    margin: 0;
-    text-align: right;
-}
-
-ul#menu li
-{
-    display: inline;
-    list-style: none;
-}
-
-ul#menu li#greeting
-{
-    padding: 10px 20px;
-    font-weight: bold;
-    text-decoration: none;
-    line-height: 2.8em;
-    color: #fff;
-}
-
-ul#menu li a
-{
-    padding: 10px 20px;
-    font-weight: bold;
-    text-decoration: none;
-    line-height: 2.8em;
-    background-color: #e8eef4;
-    color: #034af3;
-}
-
-ul#menu li a:hover
-{
-    background-color: #fff;
-    text-decoration: none;
-}
-
-ul#menu li a:active
-{
-    background-color: #a6e2a6;
-    text-decoration: none;
-}
-
-ul#menu li.selected a
-{
-    background-color: #fff;
-    color: #000;
-}
-
-/* FORM LAYOUT ELEMENTS   
-----------------------------------------------------------*/
-
-fieldset 
-{
-    margin: 1em 0;
-    padding: 1em;
-    border: 1px solid #CCC;
-}
-
-fieldset p 
-{
-    margin: 2px 12px 10px 10px;
-}
-
-legend 
-{
-    font-size: 11pt;
-    font-weight: 600;
-    padding: 2px 4px 8px 4px;
-}
-
-input[type="text"] 
-{
-    width: 200px;
-    border: 1px solid #CCC;
-}
-
-input[type="password"] 
-{
-    width: 200px;
-    border: 1px solid #CCC;
-}
-
-/* TABLE
-----------------------------------------------------------*/
-
-table 
-{
-/*  border: solid 1px #e8eef4;
-  border-collapse: collapse;*/
-}
-
-table td 
-{
-  padding: 5px;   
-/*  border: solid 1px #e8eef4;*/
-}
-
-table th
-{
-  padding: 6px 5px;
-  text-align: left;
-  background-color: #e8eef4; 
-  border: solid 1px #e8eef4;   
-}
-
-/* MISC  
-----------------------------------------------------------*/
-.clear
-{
-    clear: both;
-}
-
-.error
-{
-    color:Red;
-}
-
-.indent
-{
-    margin-left: 20px;
-    margin-right: 20px;
-}
-
-#menucontainer
-{
-    margin-top:40px;
-}
-
-div#title
-{
-    display:block;
-    float:left;
-    text-align:left;
-}
-
-#logindisplay
-{
-    font-size:11pt;
-    display:block;
-    text-align:right;
-    margin:0px;
-    color:White;
-}
-
-#logindisplay a:link
-{
-    color: white;
-    text-decoration: underline;
-}
-
-#logindisplay a:visited
-{
-    color: white;
-    text-decoration: underline;
-}
-
-#logindisplay a:hover
-{
-    color: white;
-    text-decoration: none;
-}
-
-/* Styles for validation helpers
------------------------------------------------------------*/
-.field-validation-error
-{
-    color: #ff0000;
-}
-
-.field-validation-valid
-{
-    display: none;
-}
-
-.input-validation-error
-{
-    border: 1px solid #ff0000;
-    background-color: #ffeeee;
-}
-
-.validation-summary-errors
-{
-    font-weight: bold;
-    color: #ff0000;
-}
-
-.validation-summary-valid
-{
-    display: none;
-}
-
-/* Styles for editor and display helpers
-----------------------------------------------------------*/
-.display-label,
-.editor-label,
-.display-field,
-.editor-field
-{
-    margin: 0.5em 0;
-}
-
-.text-box
-{
-    width: 30em;
-}
-
-.text-box.multi-line
-{
-    height: 6.5em;
-}
-
-.tri-state
-{
-    width: 6em;
-}
-
-/* Breadcrumb Bar */
-.breadcrumb
-{
-    border-left: 1px solid #cacaca;
-    border-right: 1px solid #cacaca;
-    border-bottom: 1px solid #cacaca;
-    background-image: url('mdocimages/bc_bg.png');
-    background-repeat: repeat-x;
-    height: 25px;
-    line-height: 25px;
-    color: #454545;
-    border-top: 0px;
-    width: 100%;
-    overflow: hidden;
-    margin-left: -2px;
-    padding: 0px;
-    font-style: normal;
-    font-variant: normal;
-    font-weight: normal;
-    font-size: 11px;
-    font-family: Arial, Helvetica, sans-serif;
-    margin-right: 0px;
-    margin-top: 0px;
-    margin-bottom: 0px;
-}
-
-.breadcrumb li
-{
-    list-style-type: none;
-    float: left;
-    padding-left: 25px;
-    background-position: 5px center;
-    background-repeat: no-repeat;
-}
-
-.breadcrumb li.pubclass { background-image: url('mdocimages/pubclass.png'); }
-.breadcrumb li.pubdelegate { background-image: url('mdocimages/pubdelegate.png'); }
-.breadcrumb li.pubenumeration { background-image: url('mdocimages/pubenumeration.png'); }
-.breadcrumb li.pubevent { background-image: url('mdocimages/pubevent.png'); }
-.breadcrumb li.pubextension { background-image: url('mdocimages/pubextension.png'); }
-.breadcrumb li.pubfield { background-image: url('mdocimages/pubfield.png'); }
-.breadcrumb li.pubinterface { background-image: url('mdocimages/pubinterface.png'); }
-.breadcrumb li.pubmethod { background-image: url('mdocimages/pubmethod.png'); }
-.breadcrumb li.pubproperty { background-image: url('mdocimages/pubproperty.png'); }
-.breadcrumb li.pubstructure { background-image: url('mdocimages/pubstructure.png'); }
-
-.breadcrumb li.protclass { background-image: url('mdocimages/protclass.png'); }
-.breadcrumb li.protdelegate { background-image: url('mdocimages/protdelegate.png'); }
-.breadcrumb li.protenumeration { background-image: url('mdocimages/protenumeration.png'); }
-.breadcrumb li.protevent { background-image: url('mdocimages/protevent.png'); }
-.breadcrumb li.protextension { background-image: url('mdocimages/protextension.png'); }
-.breadcrumb li.protfield { background-image: url('mdocimages/protfield.png'); }
-.breadcrumb li.protinterface { background-image: url('mdocimages/protinterface.png'); }
-.breadcrumb li.protmethod { background-image: url('mdocimages/protmethod.png'); }
-.breadcrumb li.protproperty { background-image: url('mdocimages/protproperty.png'); }
-.breadcrumb li.protstructure { background-image: url('mdocimages/protstructure.png'); }
-
-.breadcrumb li.privclass { background-image: url('mdocimages/privclass.png'); }
-.breadcrumb li.privdelegate { background-image: url('mdocimages/privdelegate.png'); }
-.breadcrumb li.privenumeration { background-image: url('mdocimages/privenumeration.png'); }
-.breadcrumb li.privevent { background-image: url('mdocimages/privevent.png'); }
-.breadcrumb li.privextension { background-image: url('mdocimages/privextension.png'); }
-.breadcrumb li.privfield { background-image: url('mdocimages/privfield.png'); }
-.breadcrumb li.privinterface { background-image: url('mdocimages/privinterface.png'); }
-.breadcrumb li.privmethod { background-image: url('mdocimages/privmethod.png'); }
-.breadcrumb li.privproperty { background-image: url('mdocimages/privproperty.png'); }
-.breadcrumb li.privstructure { background-image: url('mdocimages/privstructure.png'); }
-
-.breadcrumb li.namespace 
-{
-    padding-left: 26px;
-    background-image: url('mdocimages/namespace.png');
-}
-
-.breadcrumb li.reference 
-{
-    padding-left: 26px;
-    background-image: url('mdocimages/reference.png');
-}
-
-.breadcrumb li.members 
-{
-    padding-left: 24px;
-    background-image: url('mdocimages/members.png');
-}
-
-.breadcrumb li.home 
-{
-    padding-left: 31px;
-    background-image: url('mdocimages/house.png');
-    background-position: 8px center;
-}
-
-.breadcrumb li.help 
-{
-    background-image: url('mdocimages/help.png');
-}
-
-.breadcrumb li.unrecognized 
-{
-    background-image: url('mdocimages/error.png');
-}
-
-.breadcrumb a
-{
-    height: 25px;
-    display: block;
-    background-image: url('mdocimages/bc_separator.png');
-    background-repeat: no-repeat;
-    background-position: right;
-    padding-right: 15px;
-    color: #454545;
-    text-decoration: none;
-}
-
-.breadcrumb a:hover
-{
-    text-decoration: underline;
-}
-
-.clearer
-{
-    clear: both;
-}
-
-div.Signature {
-  border: 1px solid #C0C0C0;
-  background: #F2F2F2;
-  padding: 1em;
-  /* margin-left: 1em; */
-}
-
-div.Content {
-    /*margin-left: 1em;*/
-}
-
-div.msummary {
-    font-size: 24px;
-    color: #38689b;
-}
-
-.SectionBox {
-    /*margin-left: 1em;*/
-}
-
-/* Salvaged from the old style */
-table.Documentation, table.Enumeration, table.TypeDocumentation {
-  border-collapse: collapse;
-  width: 100%;
-}
-
-table.Documentation tr th, table.TypeMembers tr th, table.Enumeration tr th, table.TypeDocumentation tr th {
-  background: whitesmoke;
-  padding: 0.8em;
-  border: 1px solid gray;
-  text-align: left;
-  vertical-align: bottom;
-}
-
-table.Documentation tr td, table.TypeMembers tr td, table.Enumeration tr td, table.TypeDocumentation tr td {
-  padding: 0.5em;
-  border: 1px solid gray;
-  text-align: left;
-  vertical-align: top;
-}
-
-table.TypeMembers {
-  border: 1px solid #C0C0C0;
-  width: 100%;
-}
-
-table.TypeMembers tr td {
-  background: #F8F8F8;
-  border: white;
-}
-
-span.NotEntered /* Documentation for this section has not yet been entered */ {
-       font-style: italic;
-       color: #aaa;    
-}
-
-.SubsectionBox {
-    margin-top: 0;
-    margin-bottom: 0;
-}
\ No newline at end of file
diff --git a/mcs/class/monodoc/Resources/mono-ecma.xsl b/mcs/class/monodoc/Resources/mono-ecma.xsl
deleted file mode 100644 (file)
index 76356d2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       mono-ecma.xsl: ECMA-style docs to HTML stylesheet trasformation
-
-       Author: Joshua Tauberer (tauberer@for.net)
-
-       TODO:
-               split this into multiple files
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:monodoc="monodoc:///extensions"
-       exclude-result-prefixes="monodoc"
-       >
-       <xsl:import href="mdoc-sections.xsl" />
-       <xsl:import href="mono-ecma-impl.xsl" />
-       
-       <xsl:output omit-xml-declaration="yes" />
-
-       <xsl:template name="CreateCodeBlock">
-               <xsl:param name="language" />
-               <xsl:param name="content" />
-               <table class="CodeExampleTable" bgcolor="#f5f5dd" border="1" cellpadding="5" width="100%">
-                       <tr><td><b><xsl:value-of select="$language"/> Example</b></td></tr>
-                       <tr>
-                               <td>
-                                       <!--
-                                       <xsl:value-of select="monodoc:Colorize($content, string($language))" 
-                                               disable-output-escaping="yes" />
-                                               -->
-                                       <pre>
-                                               <xsl:value-of select="$content" />
-                                       </pre>
-                               </td>
-                       </tr>
-               </table>
-       </xsl:template>
-
-</xsl:stylesheet>
diff --git a/mcs/class/monodoc/Resources/toc-html.xsl b/mcs/class/monodoc/Resources/toc-html.xsl
deleted file mode 100644 (file)
index ea4d564..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:output method="html" />
-
-  <xsl:template match="/toc">
-       <table bgcolor="#b0c4de" width="100%" cellpadding="5"><tr><td><h3><xsl:value-of select="@title" /></h3></td></tr></table>
-       <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="description">
-       <p><xsl:value-of select="." /></p>
-  </xsl:template>
-
-  <xsl:template match="list">
-       <ul>
-         <xsl:apply-templates />
-       </ul>
-  </xsl:template>
-
-  <xsl:template match="item">
-       <xsl:choose>
-         <xsl:when test="list">
-               <li>
-               <xsl:apply-templates select="list" />
-               </li>
-         </xsl:when>
-         <xsl:otherwise>
-               <li><a href="{@url}"><xsl:value-of select="." /></a></li>
-         </xsl:otherwise>
-       </xsl:choose>
-  </xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/mcs/class/monodoc/Test/Monodoc.Ecma/EcmaUrlTests.cs b/mcs/class/monodoc/Test/Monodoc.Ecma/EcmaUrlTests.cs
deleted file mode 100644 (file)
index 8e27bc0..0000000
+++ /dev/null
@@ -1,839 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-using Monodoc.Ecma;
-
-namespace MonoTests.Monodoc.Ecma
-{
-       [TestFixture]
-       public class EcmaUrlTests
-       {
-               EcmaUrlParser parser;
-
-               [SetUp]
-               public void Setup ()
-               {
-                       parser = new EcmaUrlParser ();
-               }
-               
-               void AssertValidUrl (string url)
-               {
-                       try {
-                               parser.IsValid (url);
-                       } catch {
-                               Assert.Fail (string.Format ("URL '{0}' deemed not valid", url));
-                       }
-               }
-
-               void AssertInvalidUrl (string url)
-               {
-                       try {
-                               parser.IsValid (url);
-                       } catch {
-                               return;
-                       }
-                       Assert.Fail (string.Format ("URL '{0}' deemed valid", url));
-               }
-
-               void AssertUrlDesc (EcmaDesc expected, string url)
-               {
-                       EcmaDesc actual = null;
-                       try {
-                               actual = parser.Parse (url);
-                       } catch (Exception e) {
-                               Assert.Fail (string.Format ("URL '{0}' deemed not valid: {1}{2}", url, Environment.NewLine, e.ToString ()));
-                       }
-
-                       Assert.AreEqual (expected, actual, "Converted URL differs");
-               }
-
-               void AssertEcmaString (string expected, EcmaDesc actual)
-               {
-                       string actualString = actual.ToEcmaCref ();
-                       Assert.AreEqual (expected, actualString);
-               }
-
-               IEnumerable<EcmaDesc> GenericTypeArgumentsList (params string[] parameters) 
-               {
-                       foreach (var p in parameters)
-                               yield return new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               TypeName = p,
-                                               Namespace = string.Empty
-                                       };
-               }
-
-               [Test]
-               public void CommonMethodUrlIsValidTest ()
-               {
-                       AssertValidUrl ("M:System.String.FooBar()");
-                       AssertValidUrl ("M:System.String.FooBar(System.String, Int32)");
-                       AssertValidUrl ("M:System.Foo.Int32<System.String+FooBar<System.Blop<T, U`2>>>.Foo()");
-                       AssertValidUrl ("M:System.Foo.Int32<System.String+FooBar<System.Blop<T, U`2>>>.Foo(Bleh,Bar)");
-                       AssertValidUrl ("M:System.Foo.Int32<System.String+FooBar<System.Blop<T, U`2>>>.Foo(Bleh<V>,Bar)");
-                       AssertValidUrl ("M:Gendarme.Framework.Helpers.Log.WriteLine(string,string,object[])");
-                       AssertValidUrl ("M:Mono.Security.X509.Extensions.SubjectKeyIdentifierExtension.Decode");
-                       AssertValidUrl ("M:Mono.Security.PKCS7.IssuerAndSerialNumber");
-               }
-
-               [Test]
-               public void CommonTypeUrlIsValidTest ()
-               {
-                       AssertValidUrl ("T:Int32");
-                       AssertValidUrl ("T:System.Foo.Int32");
-                       AssertValidUrl ("T:System.Foo.Int32<System.String+FooBar`1>");
-                       AssertValidUrl ("T:System.Foo.Int32<System.String+FooBar<System.Blop<T, U>>>");
-                       AssertValidUrl ("T:System.Foo.Int32<T>");
-                       AssertValidUrl ("T:System.Foo.Int32<T,U>");
-                       AssertValidUrl ("T:System.Foo.Int32<System.String+FooBar<System.Blop<T, U>>>");
-                       AssertValidUrl ("T:System.Foo.Int32<System.String+FooBar<System.Blop<T, U`2>>>");
-               }
-
-               [Test]
-               public void CommonTypeUrlNotValidTest ()
-               {
-                       AssertInvalidUrl ("TInt32");
-                       AssertInvalidUrl ("K:Int32");
-                       AssertInvalidUrl ("T:System..Foo.Int32");
-                       AssertInvalidUrl ("T:System.Foo.Int32<System.String+FooBar`1");
-                       AssertInvalidUrl ("T:System.Foo.Int32<System.String+FooBarSystem.Blop<T, U>>>");
-                       AssertInvalidUrl ("T:System.Foo.Int32<T,>");
-                       AssertInvalidUrl ("T:System.Foo.Int32<+FooBar<System.Blop<T, U>>>");
-               }
-
-               [Test]
-               public void NamespaceValidTest ()
-               {
-                       AssertValidUrl ("N:Foo.Bar");
-                       AssertValidUrl ("N:Foo");
-                       AssertValidUrl ("N:Foo.Bar.Baz");
-                       AssertValidUrl ("N:A.B.C");
-
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Namespace,
-                                                   Namespace = "Foo.Bar.Blop" };
-                       AssertUrlDesc (ast, "N:Foo.Bar.Blop");
-               }
-
-               [Test]
-               public void ConstructorValidTest ()
-               {
-                       AssertValidUrl ("C:Gendarme.Rules.Concurrency.DecorateThreadsRule.DecorateThreadsRule");
-                       AssertValidUrl ("C:Gendarme.Rules.Concurrency.DecorateThreadsRule.DecorateThreadsRule()");
-                       AssertValidUrl ("C:Gendarme.Rules.Concurrency.DecorateThreadsRule.DecorateThreadsRule(System.String)");
-                       AssertValidUrl ("C:Gendarme.Framework.Helpers.MethodSignature.MethodSignature(string,string,string[],System.Func<Mono.Cecil.MethodReference,System.Boolean>)");
-                       AssertValidUrl ("C:System.Collections.Generic.Dictionary<TKey,TValue>+KeyCollection.KeyCollection(System.Collections.Generic.Dictionary<TKey,TValue>)");
-                       AssertValidUrl ("C:Microsoft.Build.Utilities.TaskItem(System.String,System.Collections.IDictionary)");
-               }
-
-               [Test]
-               public void SlashExpressionValidTest ()
-               {
-                       AssertValidUrl ("T:Foo.Bar.Type/*");
-                       AssertValidUrl ("T:Foo.Bar.Type/M");
-                       AssertValidUrl ("T:Gendarme.Framework.Bitmask<T>/M/Equals");
-                       AssertValidUrl ("T:Gendarme.Framework.Helpers.Log/M/WriteLine<T>");
-                       AssertValidUrl ("T:System.Windows.Forms.AxHost/M/System.ComponentModel.ICustomTypeDescriptor.GetEvents");
-               }
-
-               [Test]
-               public void MethodWithArgModValidTest ()
-               {
-                       AssertValidUrl ("M:Foo.Bar.FooBar(int, System.Drawing.Imaging&)");
-                       AssertValidUrl ("M:Foo.Bar.FooBar(int@, System.Drawing.Imaging)");
-                       AssertValidUrl ("M:Foo.Bar.FooBar(int, System.Drawing.Imaging*)");
-                       AssertValidUrl ("M:Foo.Bar.FooBar(int*, System.Drawing.Imaging&)");
-                       AssertValidUrl ("M:Atk.NoOpObject.GetRunAttributes(int,int&,int&)");
-               }
-
-               [Test]
-               public void MethodWithJaggedArrayArgsValidTest ()
-               {
-                       AssertValidUrl ("M:System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Reflection.CallingConventions,Type,Type[],Type[],Type[],Type[][],Type[][])");
-               }
-
-               [Test]
-               public void MethodWithInnerTypeValidTest ()
-               {
-                       AssertValidUrl ("M:System.TimeZoneInfo+AdjustmentRule.CreateAdjustmentRule");
-               }
-
-               [Test]
-               public void FieldValidTest ()
-               {
-                       AssertValidUrl ("F:Mono.Terminal.Curses.KeyF10");
-                       AssertValidUrl ("F:Novell.Directory.Ldap.Utilclass.ExceptionMessages.NOT_IMPLEMENTED");
-                       AssertValidUrl ("F:Novell.Directory.Ldap.LdapException.NOT_ALLOWED_ON_NONLEAF");
-               }
-
-               [Test]
-               public void PropertyValidTest ()
-               {
-                       AssertValidUrl ("P:System.Foo.Bar");
-                       AssertValidUrl ("P:System.ArraySegment<T>.Array");
-               }
-
-               [Test]
-               public void IndexPropertyValidTest ()
-               {
-                       AssertValidUrl ("P:System.ComponentModel.PropertyDescriptorCollection.Item(int)");
-                       AssertValidUrl ("P:System.ComponentModel.AttributeCollection.Item(Type)");
-                       AssertValidUrl ("P:System.Web.SessionState.HttpSessionStateContainer$System.Web.SessionState.IHttpSessionState.Item(System.Int32)");
-                       AssertValidUrl ("P:System.Collections.Specialized.BitVector32.Item(System.Collections.Specialized.BitVector32+Section)");
-               }
-
-               [Test]
-               public void ExplicitMethodImplValidTest ()
-               {
-                       AssertValidUrl ("M:Microsoft.Win32.RegistryKey$System.IDisposable.Dispose");
-               }
-
-               [Test]
-               public void AspNetSafeUrlValidTest ()
-               {
-                       AssertValidUrl ("M:MonoTouch.UIKit.UICollectionViewLayoutAttributes.CreateForCell{T}");
-               }
-
-               [Test]
-               public void GenericTypeArgsIsNumericTest ()
-               {
-                       var desc = parser.Parse ("T:System.Collections.Generic.Dictionary`2");
-                       Assert.IsTrue (desc.GenericTypeArgumentsIsNumeric);
-                       Assert.AreEqual (2, desc.GenericTypeArguments.Count);
-                       desc = parser.Parse ("T:System.Collections.Generic.Dictionary<TKey,TValue>");
-                       Assert.IsFalse (desc.GenericTypeArgumentsIsNumeric);
-               }
-
-               [Test]
-               public void GenericTypeArgsNumericToStringTest ()
-               {
-                       string stringCref = "T:System.Collections.Generic.Dictionary`2";
-                       var desc = parser.Parse (stringCref);
-                       Assert.IsTrue (desc.GenericTypeArgumentsIsNumeric);
-                       Assert.AreEqual (2, desc.GenericTypeArguments.Count);
-                       string generatedEcmaCref = desc.ToEcmaCref ();
-                       Assert.AreEqual (stringCref, generatedEcmaCref);
-               }
-
-               [Test]
-               public void MetaEtcNodeTest ()
-               {
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Type,
-                                                   Namespace = "Foo.Bar",
-                                                   TypeName = "Type",
-                                                   Etc = '*' };
-                       AssertUrlDesc (ast, "T:Foo.Bar.Type/*");
-               }
-
-               [Test]
-               public void MetaEtcWithInnerTypeTest ()
-               {
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Type,
-                                                   Namespace = "Novell.Directory.Ldap",
-                                                   TypeName = "Connection",
-                                                   NestedType = new EcmaDesc { DescKind = EcmaDesc.Kind.Type, TypeName = "ReaderThread" },
-                                                   Etc = '*' };
-                       AssertUrlDesc (ast, "T:Novell.Directory.Ldap.Connection+ReaderThread/*");
-               }
-
-               [Test]
-               public void SimpleTypeUrlParseTest ()
-               {
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Type,
-                                                   TypeName = "String",
-                                                   Namespace = "System" };
-                       AssertUrlDesc (ast, "T:System.String");
-               }
-
-               [Test]
-               public void TypeWithOneGenericUrlParseTest ()
-               {
-                       var generics = new[] {
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       Namespace = string.Empty,
-                                       TypeName = "T"
-                               }
-                       };
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Type,
-                                                   TypeName = "String",
-                                                   Namespace = "System",
-                                                   GenericTypeArguments = generics,
-                       };
-
-                       AssertUrlDesc (ast, "T:System.String<T>");
-               }
-
-               [Test]
-               public void TypeWithOneGenericUrlParseTestUsingAspNetStyleUrl ()
-               {
-                       var generics = new[] {
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       Namespace = string.Empty,
-                                       TypeName = "T"
-                               }
-                       };
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Type,
-                                                   TypeName = "String",
-                                                   Namespace = "System",
-                                                   GenericTypeArguments = generics,
-                       };
-
-                       AssertUrlDesc (ast, "T:System.String{T}");
-               }
-
-               [Test]
-               public void TypeWithNestedGenericUrlParseTest ()
-               {
-                       var generics = new[] {
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "T",
-                                       Namespace = string.Empty
-                               },
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       Namespace = "System.Collections.Generic",
-                                       TypeName = "List",
-                                       GenericTypeArguments = new[] {
-                                               new EcmaDesc {
-                                                       DescKind = EcmaDesc.Kind.Type,
-                                                       TypeName = "V",
-                                                       Namespace = string.Empty
-                                               }
-                                       }
-                               }
-                       };
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Type,
-                                                   TypeName = "String",
-                                                   Namespace = "System",
-                                                   GenericTypeArguments = generics,
-                       };
-
-                       AssertUrlDesc (ast, "T:System.String<T, System.Collections.Generic.List<V>>");
-               }
-
-               [Test]
-               public void SimpleMethodUrlParseTest ()
-               {
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Method,
-                                                   TypeName = "String",
-                                                   Namespace = "System",
-                                                   MemberName = "FooBar"
-                       };
-                       AssertUrlDesc (ast, "M:System.String.FooBar()");
-               }
-
-               [Test]
-               public void MethodWithArgsUrlParseTest ()
-               {
-                       var args = new[] {
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       Namespace = "System",
-                                       TypeName = "String"
-                               },
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "Int32",
-                                       Namespace = string.Empty
-                               }
-                       };
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Method,
-                                                   TypeName = "String",
-                                                   Namespace = "System",
-                                                   MemberName = "FooBar",
-                                                   MemberArguments = args
-                       };
-                       AssertUrlDesc (ast, "M:System.String.FooBar(System.String, Int32)");
-               }
-
-               [Test]
-               public void MethodWithArgsAndGenericsUrlParseTest ()
-               {
-                       var args = new[] {
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       Namespace = "System",
-                                       TypeName = "String"
-                               },
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       Namespace = "System.Collections.Generic",
-                                       TypeName = "Dictionary",
-                                       GenericTypeArguments = new[] {
-                                               new EcmaDesc {
-                                                       DescKind = EcmaDesc.Kind.Type,
-                                                       TypeName = "K",
-                                                       Namespace = string.Empty
-                                               },
-                                               new EcmaDesc {
-                                                       DescKind = EcmaDesc.Kind.Type,
-                                                       TypeName = "V",
-                                                       Namespace = string.Empty
-                                               }
-                                       }
-                               }
-                       };
-
-                       var generics = new[] {
-                               new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "Action",
-                                       Namespace = string.Empty,
-                                       GenericTypeArguments = new[] {
-                                               new EcmaDesc {
-                                                       DescKind = EcmaDesc.Kind.Type,
-                                                       Namespace = "System",
-                                                       TypeName = "Single",
-                                               },
-                                               new EcmaDesc {
-                                                       DescKind = EcmaDesc.Kind.Type,
-                                                       TypeName = "int",
-                                                       Namespace = string.Empty
-                                               },
-                                       }
-                               }
-                       };
-
-                       var ast = new EcmaDesc () { DescKind = EcmaDesc.Kind.Method,
-                                                   TypeName = "String",
-                                                   Namespace = "System",
-                                                   MemberName = "FooBar",
-                                                   MemberArguments = args,
-                                                   GenericMemberArguments = generics
-                       };
-                       AssertUrlDesc (ast, "M:System.String.FooBar<Action<System.Single, int>>(System.String, System.Collections.Generic.Dictionary<K, V>)");
-               }
-
-               [Test]
-               public void ExplicitMethodImplementationParseTest ()
-               {
-                       var inner = new EcmaDesc {
-                               MemberName = "Dispose",
-                               TypeName = "IDisposable",
-                               Namespace = "System"
-                       };
-                       var ast = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               TypeName = "RegistryKey",
-                               Namespace = "Microsoft.Win32",
-                               ExplicitImplMember = inner
-                       };
-                       AssertUrlDesc (ast, "M:Microsoft.Win32.RegistryKey$System.IDisposable.Dispose");
-               }
-
-               [Test]
-               public void SimpleMethodWithNumberInType ()
-               {
-                       var ast = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               TypeName = "ASN1",
-                               Namespace = "Mono.Security",
-                               MemberName = "Add"
-                       };
-                       AssertUrlDesc (ast, "M:Mono.Security.ASN1.Add");
-               }
-
-               [Test]
-               public void JaggedArrayWithDimensions ()
-               {
-                       var ast = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               TypeName = "Int32",
-                               Namespace = "System",
-                               ArrayDimensions = new int[] { 3, 1, 1 }
-                       };
-                       AssertUrlDesc (ast, "T:System.Int32[,,][][]");
-               }
-
-               [Test]
-               public void ExplicitIndexerImplementation ()
-               {
-                       var explicitImpl = new EcmaDesc {
-                               Namespace = "System.Web.SessionState",
-                               TypeName = "IHttpSessionState",
-                               MemberName = "Item",
-                               MemberArguments = new [] { new EcmaDesc { DescKind = EcmaDesc.Kind.Type, Namespace = "System", TypeName = "Int32" } },
-                       };
-                       var ast = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Property,
-                               TypeName = "HttpSessionStateContainer",
-                               Namespace = "System.Web.SessionState",
-                               ExplicitImplMember = explicitImpl,
-                       };
-                       AssertUrlDesc (ast, "P:System.Web.SessionState.HttpSessionStateContainer$System.Web.SessionState.IHttpSessionState.Item(System.Int32)");
-               }
-
-               [Test]
-               public void ToEcmaCref_Namespace ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Namespace,
-                               Namespace = "System.IO",
-                       };
-
-                       AssertEcmaString ("N:System.IO", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_SimpleType ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                       };
-
-                       AssertEcmaString ("T:System.IO.Path", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_NestedType ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               NestedType = new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "TheNestedType",
-                               },
-                       };
-
-                       AssertEcmaString ("T:System.IO.Path+TheNestedType", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_NestedType_FourDeep ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               Namespace = "Mono",
-                               TypeName = "DocTest",
-                               NestedType = new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "NestedClass",
-                                       NestedType = new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               TypeName = "Double",
-                                               NestedType = new EcmaDesc {
-                                                       DescKind = EcmaDesc.Kind.Type,
-                                                       TypeName = "Triple",
-                                                       NestedType = new EcmaDesc {
-                                                               DescKind = EcmaDesc.Kind.Type,
-                                                               TypeName = "Quadruple",
-                                                       },
-                                               },
-                                       },
-                               },
-                       };
-
-                       string targetUrl = "T:Mono.DocTest+NestedClass+Double+Triple+Quadruple";
-                       AssertEcmaString (targetUrl, actual);
-                       AssertUrlDesc (actual, targetUrl);
-               }
-
-               [Test]
-               public void ToEcmaCref_NestedType_Field ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Field,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               NestedType = new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "TheNestedType",
-                               },
-                               MemberName = "NestedField"
-                       };
-
-                       AssertEcmaString ("F:System.IO.Path+TheNestedType.NestedField", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_SimpleType_WithGenerics ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               GenericTypeArguments = GenericTypeArgumentsList ("K").ToArray ()
-                       };
-
-                       AssertEcmaString ("T:System.IO.Path<K>", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Nestedype_WithGenerics ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               NestedType = new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "TheNestedType",
-                               },
-                               GenericTypeArguments = GenericTypeArgumentsList ("K").ToArray ()
-                       };
-
-                       AssertEcmaString ("T:System.IO.Path<K>+TheNestedType", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Nestedype_WithGenericsOnBoth ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Type,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               NestedType = new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "TheNestedType",
-                                       GenericTypeArguments = GenericTypeArgumentsList ("T", "V").ToArray (),
-                               },
-                               GenericTypeArguments = GenericTypeArgumentsList ("K").ToArray ()
-                       };
-
-                       AssertEcmaString ("T:System.IO.Path<K>+TheNestedType<T,V>", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Nestedype_Property_WithGenericsOnBoth ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Property,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               NestedType = new EcmaDesc {
-                                       DescKind = EcmaDesc.Kind.Type,
-                                       TypeName = "TheNestedType",
-                                       GenericTypeArguments = GenericTypeArgumentsList ("T", "V").ToArray (),
-                               },
-                               GenericTypeArguments = GenericTypeArgumentsList ("K").ToArray (),
-                               MemberName = "TheProperty"
-                       };
-
-                       AssertEcmaString ("P:System.IO.Path<K>+TheNestedType<T,V>.TheProperty", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Field ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Field,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               MemberName = "TheField"
-                       };
-
-                       AssertEcmaString ("F:System.IO.Path.TheField", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_ExplicitlyImplemented_Field ()
-               {
-                       var explicitImpl = new EcmaDesc {
-                               Namespace = "System.Web.SessionState",
-                               TypeName = "IHttpSessionState",
-                               MemberName = "Item",
-                       };
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Field,
-                               TypeName = "HttpSessionStateContainer",
-                               Namespace = "System.Web.SessionState",
-                               ExplicitImplMember = explicitImpl,
-                       };
-                       AssertEcmaString ("F:System.Web.SessionState.HttpSessionStateContainer$System.Web.SessionState.IHttpSessionState.Item", actual);
-               }               
-
-               [Test]
-               public void ToEcmaCref_Property ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Property,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               MemberName = "TheProperty",
-                       };
-
-                       AssertEcmaString ("P:System.IO.Path.TheProperty", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_ExplicitlyImplemented_Property ()
-               {
-                       var explicitImpl = new EcmaDesc {
-                               Namespace = "System.Web.SessionState",
-                               TypeName = "IHttpSessionState",
-                               MemberName = "Item",
-                       };
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Property,
-                               TypeName = "HttpSessionStateContainer",
-                               Namespace = "System.Web.SessionState",
-                               ExplicitImplMember = explicitImpl,
-                       };
-                       AssertEcmaString ("P:System.Web.SessionState.HttpSessionStateContainer$System.Web.SessionState.IHttpSessionState.Item", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_ExplicitlyImplemented_Method ()
-               {
-                       var explicitImpl = new EcmaDesc {
-                               Namespace = "System.Web.SessionState",
-                               TypeName = "IHttpSessionState",
-                               MemberName = "Item",
-                               MemberArguments = new [] {
-                                       new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "System",
-                                               TypeName = "Int32",
-                                       },
-                               },
-                       };
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               TypeName = "HttpSessionStateContainer",
-                               Namespace = "System.Web.SessionState",
-                               ExplicitImplMember = explicitImpl,
-                       };
-                       AssertEcmaString ("M:System.Web.SessionState.HttpSessionStateContainer$System.Web.SessionState.IHttpSessionState.Item(System.Int32)", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Event ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Event,
-                               Namespace = "System.IO",
-                               TypeName = "Path",
-                               MemberName = "TheEvent",
-                       };
-
-                       AssertEcmaString ("E:System.IO.Path.TheEvent", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Operator ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Operator,
-                               Namespace = "System",
-                               TypeName = "Int32",
-                               MemberName = "Addition",
-                       };
-
-                       AssertEcmaString ("O:System.Int32.Addition", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Operator_Conversion ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Operator,
-                               Namespace = "System",
-                               TypeName = "Int32",
-                               MemberName = "ExplicitConversion",
-                               MemberArguments = new [] { 
-                                       new EcmaDesc { 
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "System",
-                                               TypeName = "Double",
-                                       },
-                                       new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "System",
-                                               TypeName = "Int32",
-                                       }
-                               },
-                       };
-
-                       AssertEcmaString ("O:System.Int32.ExplicitConversion(System.Double,System.Int32)", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Method ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               Namespace = "System",
-                               TypeName = "Int32",
-                               MemberName = "Add"
-                       };
-
-                       AssertEcmaString ("M:System.Int32.Add", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Method_Parameters ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               Namespace = "System",
-                               TypeName = "Int32",
-                               MemberName = "Add",
-                               MemberArguments = new [] { 
-                                       new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "System",
-                                               TypeName = "Double",
-                                       },
-                                       new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "System",
-                                               TypeName = "Int32",
-                                       },
-                               },
-                       };
-
-                       AssertEcmaString ("M:System.Int32.Add(System.Double,System.Int32)", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Method_Generics ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               Namespace = "System",
-                               TypeName = "Int32",
-                               MemberName = "Add",
-                               GenericMemberArguments = GenericTypeArgumentsList ("T", "K").ToArray (),
-                       };
-
-                       AssertEcmaString ("M:System.Int32.Add<T,K>", actual);
-               }
-
-               [Test]
-               public void ToEcmaCref_Method_Generics_PlusParameters ()
-               {
-                       var actual = new EcmaDesc {
-                               DescKind = EcmaDesc.Kind.Method,
-                               Namespace = "System",
-                               TypeName = "Int32",
-                               MemberName = "Add",
-                               GenericMemberArguments = GenericTypeArgumentsList ("T", "K").ToArray (),
-                               MemberArguments = new [] { 
-                                       new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "",
-                                               TypeName = "T",
-                                       },
-                                       new EcmaDesc {
-                                               DescKind = EcmaDesc.Kind.Type,
-                                               Namespace = "",
-                                               TypeName = "K",
-                                       },
-                               },
-                       };
-
-                       AssertEcmaString ("M:System.Int32.Add<T,K>(T,K)", actual);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Test/Monodoc.Generators/RawGeneratorTests.cs b/mcs/class/monodoc/Test/Monodoc.Generators/RawGeneratorTests.cs
deleted file mode 100644 (file)
index fa3ffe1..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-using Monodoc.Generators;
-
-namespace MonoTests.Monodoc.Generators
-{
-       [TestFixture]
-       public class RawGeneratorTests
-       {
-               const string BaseDir = "../../class/monodoc/Test/monodoc_test/";
-               RootTree rootTree;
-               RawGenerator generator = new RawGenerator ();
-
-               [SetUp]
-               public void Setup ()
-               {
-                       rootTree = RootTree.LoadTree (Path.GetFullPath (BaseDir), false);
-               }
-
-               void AssertValidXml (string xml)
-               {
-                       var reader = XmlReader.Create (new StringReader (xml));
-                       try {
-                               while (reader.Read ());
-                       } catch (Exception e) {
-                               Console.WriteLine (e.ToString ());
-                               Assert.Fail (e.Message);
-                       }
-               }
-
-               void AssertEcmaFullTypeName (string xml, string fullTypeName)
-               {
-                       var reader = XmlReader.Create (new StringReader (xml));
-                       Assert.IsTrue (reader.ReadToFollowing ("Type"));
-                       Assert.AreEqual (fullTypeName, reader.GetAttribute ("FullName"));
-               }
-
-               [Test]
-               public void TestSimpleEcmaXml ()
-               {
-                       var xml = rootTree.RenderUrl ("T:System.String", generator);
-                       Assert.IsNotNull (xml);
-                       AssertHelper.IsNotEmpty (xml);
-                       AssertValidXml (xml);
-                       AssertEcmaFullTypeName (xml, "System.String");
-               }
-
-               [Test]
-               public void TestSimpleEcmaXml2 ()
-               {
-                       var xml = rootTree.RenderUrl ("T:System.Int32", generator);
-                       Assert.IsNotNull (xml);
-                       AssertHelper.IsNotEmpty (xml);
-                       AssertValidXml (xml);
-                       AssertEcmaFullTypeName (xml, "System.Int32");
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Test/Monodoc/EcmaDocTests.cs b/mcs/class/monodoc/Test/Monodoc/EcmaDocTests.cs
deleted file mode 100644 (file)
index 9886846..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-using Monodoc.Generators;
-
-namespace MonoTests.Monodoc
-{
-       [TestFixture]
-       public class EcmaDocTest
-       {
-               // Because EcmaDoc is internal and we can't use InternalsVisibleTo since test assemblies aren't
-               // signed/strong-named by the build, we have to resort to reflection
-               TDelegate GetTestedMethod<TDelegate> (string methodName)
-               {
-                       var ecmaDoc = Type.GetType ("Monodoc.Providers.EcmaDoc, monodoc, PublicKey=0738eb9f132ed756");
-                       return (TDelegate)(object)Delegate.CreateDelegate (typeof (TDelegate), ecmaDoc.GetMethod (methodName));
-               }
-
-               [Test]
-               public void CountTypeGenericArgumentsTest ()
-               {
-                       var realCountTypeGenericArguments = GetTestedMethod<Func<string, int, int>> ("CountTypeGenericArguments");
-                       // Since we don't use the optional start index parameters, bypass it by wrapping the func
-                       Func<string, int> countTypeGenericArguments = s => realCountTypeGenericArguments (s, 0);
-
-                       Assert.AreEqual (0, countTypeGenericArguments ("T:System.String"), "#0a");
-                       Assert.AreEqual (0, countTypeGenericArguments ("T:String"), "#0b");
-                       Assert.AreEqual (0, countTypeGenericArguments ("String"), "#0c");
-
-                       Assert.AreEqual (1, countTypeGenericArguments ("T:System.Collections.Foo<T>"), "#1a");
-                       Assert.AreEqual (1, countTypeGenericArguments ("T:System.Foo<T>"), "#1b");
-                       Assert.AreEqual (1, countTypeGenericArguments ("T:Foo<T>"), "#1c");
-                       Assert.AreEqual (1, countTypeGenericArguments ("Foo<T>"), "#1d");
-
-                       Assert.AreEqual (2, countTypeGenericArguments ("T:System.Collections.Foo<T, U>"), "#2a");
-                       Assert.AreEqual (2, countTypeGenericArguments ("T:System.Foo<TKey, TValue>"), "#2b");
-                       Assert.AreEqual (2, countTypeGenericArguments ("T:Foo<Something,Else>"), "#2c");
-                       Assert.AreEqual (2, countTypeGenericArguments ("Foo<TDelegate,TArray>"), "#2d");
-
-                       Assert.AreEqual (3, countTypeGenericArguments ("T:System.Collections.Foo<T, U, V>"), "#3a");
-                       Assert.AreEqual (3, countTypeGenericArguments ("T:System.Foo<TKey, TValue, THash>"), "#3b");
-                       Assert.AreEqual (3, countTypeGenericArguments ("T:Foo<Something,Else,Really>"), "#3c");
-                       Assert.AreEqual (3, countTypeGenericArguments ("Foo<TDelegate,TArray,TEvent>"), "#3d");
-               }
-
-               [Test]
-               public void CountTypeGenericArgumentsTest_Nested ()
-               {
-                       var realCountTypeGenericArguments = GetTestedMethod<Func<string, int, int>> ("CountTypeGenericArguments");
-                       // Since we don't use the optional start index parameters, bypass it by wrapping the func
-                       Func<string, int> countTypeGenericArguments = s => realCountTypeGenericArguments (s, 0);
-
-                       Assert.AreEqual (1, countTypeGenericArguments ("T:System.Collections.Foo<T[]>"), "#1a");
-                       Assert.AreEqual (1, countTypeGenericArguments ("T:System.Collections.Foo<IList<T>>"), "#1b");
-                       Assert.AreEqual (2, countTypeGenericArguments ("T:System.Collections.Foo<T, KeyValuePair<T, U>>"), "#2a");
-                       Assert.AreEqual (2, countTypeGenericArguments ("T:System.Collections.Foo<T, KeyValuePair<IProducerConsumerCollection<U>, IEquatable<V>>>"), "#2b");
-                       Assert.AreEqual (3, countTypeGenericArguments ("T:System.Collections.Foo<T, IProducerConsumerCollection<U>, IEquatable<V>>"), "#3a");
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Test/Monodoc/HelpSourceTests.cs b/mcs/class/monodoc/Test/Monodoc/HelpSourceTests.cs
deleted file mode 100644 (file)
index 29da751..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-using Monodoc.Generators;
-using Monodoc.Providers;
-
-// Used by ReachabilityWithCrefsTest
-// using HtmlAgilityPack;
-
-namespace MonoTests.Monodoc
-{
-       [TestFixture]
-       public class HelpSourceTest
-       {
-               const string BaseDir = "../../class/monodoc/Test/monodoc_test/";
-
-               class CheckGenerator : IDocGenerator<bool>
-               {
-                       public string LastCheckMessage { get; set; }
-
-                       public bool Generate (HelpSource hs, string id, Dictionary<string, string> context)
-                       {
-                               LastCheckMessage = string.Format ("#1 : {0} {1}", hs, id);
-                               if (hs == null || string.IsNullOrEmpty (id))
-                                       return false;
-
-                               // Stripe the arguments parts since we don't need it
-                               var argIdx = id.LastIndexOf ('?');
-                               if (argIdx != -1)
-                                       id = id.Substring (0, argIdx);
-
-                               LastCheckMessage = string.Format ("#2 : {0} {1}", hs, id);
-                               if (hs.IsRawContent (id))
-                                       return hs.GetText (id) != null;
-
-                               IEnumerable<string> parts;
-                               if (hs.IsMultiPart (id, out parts)) {
-                                       LastCheckMessage = string.Format ("#4 : {0} {1} ({2})", hs, id, string.Join (", ", parts));
-                                       foreach (var partId in parts)
-                                               if (!Generate (hs, partId, context))
-                                                       return false;
-                               }
-
-                               LastCheckMessage = string.Format ("#3 : {0} {1}", hs, id);
-                               if (hs.IsGeneratedContent (id))
-                                       return hs.GetCachedText (id) != null;
-                               else {
-                                       var s = hs.GetCachedHelpStream (id);
-                                       if (s != null) {
-                                               s.Close ();
-                                               return true;
-                                       } else {
-                                               return false;
-                                       }
-                               }
-                       }
-               }
-
-               /* This test verifies that for every node in our tree that possed a PublicUrl,
-                * we can correctly access it back through RenderUrl
-                */
-               [Test]
-               public void ReachabilityTest ()
-               {
-                       var rootTree = RootTree.LoadTree (Path.GetFullPath (BaseDir), false);
-                       Node result;
-                       var generator = new CheckGenerator ();
-                       int errorCount = 0;
-                       int testCount = 0;
-
-                       foreach (var leaf in GetLeaves (rootTree.RootNode)) {
-                               if (!rootTree.RenderUrl (leaf.PublicUrl, generator, out result) || leaf != result) {
-                                       Console.WriteLine ("Error: {0} with HelpSource {1} ", leaf.PublicUrl, leaf.Tree.HelpSource.Name);
-                                       errorCount++;
-                               }
-                               testCount++;
-                       }
-
-                       //Assert.AreEqual (0, errorCount, errorCount + " / " + testCount.ToString ());
-
-                       // HACK: in reality we have currently 4 known issues which are due to duplicated namespaces across
-                       // doc sources, something that was never supported and that we need to improve/fix at some stage
-                       AssertHelper.LessOrEqual (4, errorCount, errorCount + " / " + testCount.ToString ());
-               }
-
-               IEnumerable<Node> GetLeaves (Node node)
-               {
-                       if (node == null)
-                               yield break;
-
-                       if (node.IsLeaf)
-                               yield return node;
-                       else {
-                               foreach (var child in node.ChildNodes) {
-                                       if (!string.IsNullOrEmpty (child.Element) && !child.Element.StartsWith ("root:/"))
-                                               yield return child;
-                                       foreach (var childLeaf in GetLeaves (child))
-                                               yield return childLeaf;
-                               }
-                       }
-               }
-
-               [Test]
-               public void ReachabilityWithShortGenericNotationTest ()
-               {
-                       var rootTree = RootTree.LoadTree (Path.GetFullPath (BaseDir), false);
-                       Node result;
-                       var generator = new CheckGenerator ();
-
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Collections.Concurrent.IProducerConsumerCollection`1", generator, out result), "#1");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Collections.Generic.Dictionary`2", generator, out result), "#2");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Action`4", generator, out result), "#3");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.EventHandler`1", generator, out result), "#4");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`5", generator, out result), "#5a");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`4", generator, out result), "#5b");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`6", generator, out result), "#5c");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`7", generator, out result), "#5d");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`3", generator, out result), "#5e");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`2", generator, out result), "#5f");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`1", generator, out result), "#5g");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`8", generator, out result), "#5h");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func`9", generator, out result), "#5i");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Action`3", generator, out result), "#6a");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Action`2", generator, out result), "#6b");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Action`4", generator, out result), "#6c");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.IComparable`1", generator, out result), "#7");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Lazy`1", generator, out result), "#8");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Tuple`1", generator, out result), "#9a");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Tuple`2", generator, out result), "#9b");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Tuple`3", generator, out result), "#9c");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Tuple`4", generator, out result), "#9d");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Collections.Generic.Dictionary`2+ValueCollection", generator, out result), "#10");
-                       Assert.IsFalse (rootTree.RenderUrl ("T:System.EventHandler`2", generator, out result), "#11");
-                       Assert.IsFalse (rootTree.RenderUrl ("T:System.Lazy`2", generator, out result), "#12");
-               }
-
-               [Test]
-               public void AspNetStyleUrlReachabilityTest ()
-               {
-                       var rootTree = RootTree.LoadTree (Path.GetFullPath (BaseDir), false);
-                       Node result;
-                       var generator = new CheckGenerator ();
-
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Collections.Generic.Dictionary{TKey,TValue}", generator, out result), "#1");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Action{T1,T2}", generator, out result), "#2");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.EventHandler{TEventArgs}", generator, out result), "#3");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Func{T1,T2,T3,TResult}", generator, out result), "#4");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.Collections.Generic.Dictionary{TKey,TValue}+ValueCollection", generator, out result), "#5");
-                       Assert.IsTrue (rootTree.RenderUrl ("T:System.IComparable{T}", generator, out result), "#6");
-               }
-
-               [Test]
-               public void PublicUrlOnUnattachedHelpSourceRoot ()
-               {
-                       // Unattached help source have no root:/ URL attributed
-                       var hs = new EcmaHelpSource (Path.Combine (BaseDir, "sources", "netdocs"), false);
-                       var rootTree = RootTree.LoadTree (Path.GetFullPath (BaseDir), false);
-                       hs.RootTree = rootTree;
-                       Assert.IsNull (hs.Tree.RootNode.PublicUrl);
-                       var nsChildUrl = hs.Tree.RootNode.ChildNodes.First ().PublicUrl;
-                       Assert.IsNotNull (nsChildUrl);
-                       StringAssert.StartsWith ("N:", nsChildUrl);
-                       // Verify GetNodeTypeParent
-                       var typeNode = hs.Tree.RootNode.ChildNodes.First ().ChildNodes.First ();
-                       var metaNode = typeNode.ChildNodes.First (cn => cn.Element == "M");
-                       StringAssert.StartsWith (typeNode.PublicUrl, metaNode.PublicUrl);
-               }
-
-               /*
-               [Test, Ignore ("Mono documentation is full of syntax errors so we can't use it reliably for this test")]
-               public void ReachabilityWithCrefsTest ()
-               {
-                       var rootTree = RootTree.LoadTree (Path.GetFullPath (BaseDir), false);
-                       Node result;
-                       var htmlGenerator = new HtmlGenerator (null);
-                       var crefs = new HashSet<string> ();
-                       var generator = new CheckGenerator ();
-                       int errorCount = 0;
-
-                       foreach (var leaf in GetLeaves (rootTree.RootNode)) {
-                               Dictionary<string, string> context;
-                               string internalId = leaf.Tree.HelpSource.GetInternalIdForUrl (leaf.PublicUrl, out result, out context);
-                               if (leaf.Tree.HelpSource.GetDocumentTypeForId (internalId) != DocumentType.EcmaXml)
-                                       continue;
-
-                               string content = null;
-                               if (string.IsNullOrEmpty (content = rootTree.RenderUrl (leaf.PublicUrl, htmlGenerator, out result)) || leaf != result) {
-                                       Console.WriteLine ("Error: {0} with HelpSource {1} ", leaf.PublicUrl, leaf.Tree.HelpSource.Name);
-                                       continue;
-                               }
-
-                               HtmlDocument doc = new HtmlDocument();
-                               try {
-                                       doc.LoadHtml (content);
-                               } catch {
-                                       Console.WriteLine ("Couldn't load a HTML document for URL {0}", leaf.PublicUrl);
-                                       continue;
-                               }
-
-                               foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]")) {
-                                       var newUrl = link.Attributes["href"].Value;
-                                       var hashIndex = newUrl.IndexOf ('#');
-                                       if (hashIndex != -1)
-                                               newUrl = newUrl.Substring (0, hashIndex);
-                                       if (newUrl.Length > 1 && newUrl[1] == ':' && char.IsLetter (newUrl, 0) && char.ToLowerInvariant (newUrl[0]) != 'c')
-                                               crefs.Add (newUrl);
-                               }
-
-                               foreach (var cref in crefs) {
-                                       if (!rootTree.RenderUrl (cref, generator, out result) || result == null) {
-                                               Console.WriteLine ("Error with cref: `{0}'", cref);
-                                               errorCount++;
-                                       }
-                               }
-
-                               crefs.Clear ();
-                       }
-
-                       Assert.AreEqual (0, errorCount, errorCount + " / " + crefs.Count);
-               }*/
-       }
-}
diff --git a/mcs/class/monodoc/Test/Monodoc/NodeTest.cs b/mcs/class/monodoc/Test/Monodoc/NodeTest.cs
deleted file mode 100644 (file)
index d7640da..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-
-namespace MonoTests.Monodoc
-{
-       [TestFixture]
-       public class NodeTest
-       {
-               const string BaseDir = "../../class/monodoc/Test/monodoc_test/";
-
-               [Test]
-               public void LegacyNodesTest_30 ()
-               {
-                       TestLegacyNodesSameAsChildNodes ("tree-from-3-0.tree");
-               }
-
-               [Test]
-               public void LegacyNodesTest_210 ()
-               {
-                       TestLegacyNodesSameAsChildNodes ("tree-from-2-10.tree");
-               }
-
-               [Test]
-               public void LegacyNodesTest_30old ()
-               {
-                       TestLegacyNodesSameAsChildNodes ("tree-from-3-0-old.tree");
-               }
-
-               void TestLegacyNodesSameAsChildNodes (string treeFileName)
-               {
-                       var filePath = Path.Combine (BaseDir, "trees", treeFileName);
-                       var tree = new Tree (null, filePath);
-                       CollectionAssert.AreEqual (tree.RootNode.ChildNodes, tree.RootNode.Nodes);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Test/Monodoc/RootTreeTest.cs b/mcs/class/monodoc/Test/Monodoc/RootTreeTest.cs
deleted file mode 100644 (file)
index ea751e3..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-using Monodoc.Generators;
-
-namespace MonoTests.Monodoc
-{
-       [TestFixture]
-       public class RootTreeTest
-       {
-               const string BaseDir = "../../class/monodoc/Test/monodoc_test/";
-
-               RootTree root;
-               HtmlGenerator generator;
-
-               [SetUp]
-               public void Setup ()
-               {
-                       root = RootTree.LoadTree (BaseDir, includeExternal: false);
-                       generator = new HtmlGenerator (defaultCache: null);
-               }
-
-               [Test]
-               public void RootTreePageTest ()
-               {
-                       var content = root.RenderUrl ("root:", generator);
-                       Assert.IsNotNull (content);
-                       StringAssert.Contains ("The following documentation collections are available:", content);
-               }
-
-               IEnumerable<Node> GetNodesWithSummaries (Node baseNode)
-               {
-                       return baseNode.ChildNodes.Where (n => n.Element.StartsWith ("root:/")).SelectMany (n => new[] { n }.Concat (GetNodesWithSummaries (n)));
-               }
-
-               [Test]
-               public void HelpSourceSummariesTest ()
-               {
-                       foreach (var node in GetNodesWithSummaries (root.RootNode)) {
-                               var content = root.RenderUrl (node.Element, generator);
-                               Assert.IsNotNull (content, "#1 - " + node.Element);
-                               if (node.ChildNodes.All (n => n.Element.StartsWith ("root:/")))
-                                       StringAssert.Contains ("This node doesn't have a summary available", content, "#2a - " + node.Element);
-                               else {
-                                       Assert.IsFalse (content.Contains ("<em>Error:</em>"), "#2b - " + node.Element);
-                                       Assert.IsFalse (content.Contains ("This node doesn't have a summary available"), "#3b - " + node.Element);
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
diff --git a/mcs/class/monodoc/Test/Monodoc/SettingsTest.cs b/mcs/class/monodoc/Test/Monodoc/SettingsTest.cs
deleted file mode 100644 (file)
index fc6bf8d..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-
-namespace MonoTests.Monodoc
-{
-       [TestFixture]
-       public class SettingsTest
-       {
-               [Test]
-               public void DocPathConfigTest ()
-               {
-                       // the docPath variable is the only one we know for sure should exist
-                       Assert.IsNotNull (Config.Get ("docPath"));
-                       AssertHelper.IsNotEmpty (Config.Get ("docPath"));
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Test/Monodoc/TreeTest.cs b/mcs/class/monodoc/Test/Monodoc/TreeTest.cs
deleted file mode 100644 (file)
index e386e47..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Collections.Generic;
-
-using NUnit.Framework;
-
-using Monodoc;
-
-namespace MonoTests.Monodoc
-{
-       [TestFixture]
-       public class TreeTest
-       {
-               const string BaseDir = "../../class/monodoc/Test/monodoc_test/";
-
-               [Test]
-               public void TestLoadingTree_2_10 ()
-               {
-                       TestTreeLoading ("tree-from-2-10.tree", 0, 2);
-               }
-
-               [Test]
-               public void TestLoadingTree_3_0_old ()
-               {
-                       TestTreeLoading ("tree-from-3-0-old.tree", 1, 2);
-               }
-
-               [Test]
-               public void TestLoadingTree_3_0 ()
-               {
-                       TestTreeLoading ("tree-from-3-0.tree", 1, 2);
-               }
-
-               void TestTreeLoading (string treeFileName, int expectedVersion, int expectedNodeCount)
-               {
-                       var filePath = Path.Combine (BaseDir, "trees", treeFileName);
-                       var tree = new Tree (null, filePath);
-                       Assert.AreEqual (expectedVersion, tree.VersionNumber);
-                       Assert.IsNotNull (tree.RootNode);
-                       Assert.AreEqual (expectedNodeCount, tree.RootNode.ChildNodes.Count);
-               }
-       }
-}
diff --git a/mcs/class/monodoc/Test/monodoc_test/.gitignore b/mcs/class/monodoc/Test/monodoc_test/.gitignore
deleted file mode 100644 (file)
index f848d91..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/sources
diff --git a/mcs/class/monodoc/Test/monodoc_test/monodoc.xml b/mcs/class/monodoc/Test/monodoc_test/monodoc.xml
deleted file mode 100644 (file)
index 94a4b22..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<node label="Mono Documentation" name="libraries">
-  <node label="Commands and Files" name="man" />
-  <node label="Languages" name="languages" />
-  <node label="Tools" name="tools" />
-  <node label="Various" name="various" />
-</node>
diff --git a/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-2-10.tree b/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-2-10.tree
deleted file mode 100644 (file)
index c4bf5f6..0000000
Binary files a/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-2-10.tree and /dev/null differ
diff --git a/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0-old.tree b/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0-old.tree
deleted file mode 100644 (file)
index 163d4d1..0000000
Binary files a/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0-old.tree and /dev/null differ
diff --git a/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0.tree b/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0.tree
deleted file mode 100644 (file)
index 1fda6ef..0000000
Binary files a/mcs/class/monodoc/Test/monodoc_test/trees/tree-from-3-0.tree and /dev/null differ
diff --git a/mcs/class/monodoc/jay.sh b/mcs/class/monodoc/jay.sh
deleted file mode 100755 (executable)
index 6df0eb5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-TOPDIR=$1
-INPUT=$2
-OUTPUT=$3
-FLAGS=$4
-
-TEMPFILE=`mktemp jay-tmp.XXXXXX` || exit 1
-
-$TOPDIR/jay/jay $FLAGS < $TOPDIR/jay/skeleton.cs $INPUT > $TEMPFILE && mv $TEMPFILE $OUTPUT
index 12a4466000e863c19c50b4340c1dc04e4c24d333..7cc702beacd654f625e5ac1fbb36e4ad6687ea9e 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>618,612,672,809,414,649,1699,169,164,162,168,219,618,612</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;LEGACY_MODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;LEGACY_MODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>618,612,672,809,414,649,1699,169,164,162,168,219,618,612</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>LEGACY_MODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>LEGACY_MODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
   </PropertyGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <ItemGroup>\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Analyzer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\ASCIIFoldingFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\BaseCharFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\CachingTokenFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\CharArraySet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\CharFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\CharReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\CharStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\CharTokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\ISOLatin1AccentFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\KeywordAnalyzer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\KeywordTokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\LengthFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\LetterTokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\LowerCaseFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\LowerCaseTokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\MappingCharFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\NormalizeCharMap.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\NumericTokenStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\PerFieldAnalyzerWrapper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\PorterStemFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\PorterStemmer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\SimpleAnalyzer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardAnalyzer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardTokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardTokenizerImpl.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\StopAnalyzer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\StopFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\TeeSinkTokenFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Token.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\FlagsAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IFlagsAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IOffsetAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IPayloadAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IPositionIncrementAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\ITermAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\ITypeAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\OffsetAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\PayloadAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\PositionIncrementAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\TermAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\TypeAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\TokenFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\Tokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\TokenStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\WhitespaceAnalyzer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\WhitespaceTokenizer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Analysis\WordlistLoader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\AbstractField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\CompressionTools.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\DateField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\DateTools.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\Document.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\Field.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\Fieldable.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\FieldSelector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\FieldSelectorResult.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\LoadFirstFieldSelector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\MapFieldSelector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\NumberTools.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\NumericField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Document\SetBasedFieldSelector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\AbstractAllTermDocs.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\AllTermDocs.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\BufferedDeletes.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ByteBlockPool.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ByteSliceReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ByteSliceWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\CharBlockPool.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\CheckIndex.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\CompoundFileReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\CompoundFileWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ConcurrentMergeScheduler.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\CorruptIndexException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DefaultSkipListReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DefaultSkipListWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DirectoryReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocConsumerPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldConsumerPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldConsumerPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldConsumers.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldConsumersPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldConsumersPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldProcessor.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldProcessorPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocFieldProcessorPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocInverter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocInverterPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocInverterPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocumentsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\DocumentsWriterThreadState.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldInfo.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldInfos.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldInvertState.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldReaderException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldSortedTermVectorMapper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldsReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FieldsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FilterIndexReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsDocsConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsDocsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsFieldsConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsFieldsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsPositionsConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsPositionsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsTermsConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FormatPostingsTermsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FreqProxFieldMergeState.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FreqProxTermsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FreqProxTermsWriterPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\FreqProxTermsWriterPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexCommit.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexDeletionPolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexFileDeleter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexFileNameFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexFileNames.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IndexWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\IntBlockPool.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\InvertedDocConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\InvertedDocConsumerPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\InvertedDocConsumerPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\InvertedDocEndConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\InvertedDocEndConsumerPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\InvertedDocEndConsumerPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\KeepOnlyLastCommitDeletionPolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\LogByteSizeMergePolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\LogDocMergePolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\LogMergePolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MergeDocIDRemapper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MergePolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MergeScheduler.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MultiLevelSkipListReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MultiLevelSkipListWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MultipleTermPositions.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\MultiReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\NormsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\NormsWriterPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\NormsWriterPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ParallelReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\Payload.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\PositionBasedTermVectorMapper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\RawPostingList.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ReadOnlyDirectoryReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ReadOnlySegmentReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\ReusableStringReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentInfo.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentInfos.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentMergeInfo.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentMergeQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentMerger.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentTermDocs.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentTermPositions.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentTermPositionVector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentTermVector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SegmentWriteState.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SerialMergeScheduler.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SnapshotDeletionPolicy.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\SortedTermVectorMapper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\StaleReaderException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\StoredFieldsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\StoredFieldsWriterPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\Term.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermBuffer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermDocs.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermFreqVector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermInfo.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermInfosReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermInfosWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermPositions.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermPositionVector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermsHash.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermsHashConsumer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermsHashConsumerPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermsHashConsumerPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermsHashPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermsHashPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorEntry.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorEntryFreqSortedComparator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorMapper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorOffsetInfo.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorsReader.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorsTermsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorsTermsWriterPerField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorsTermsWriterPerThread.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Index\TermVectorsWriter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\LucenePackage.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\LZOCompressor.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Messages\INLSException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Messages\Message.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Messages\MessageImpl.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Messages\NLS.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\CharStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\FastCharStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\MultiFieldQueryParser.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\ParseException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\QueryParser.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\QueryParserConstants.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\QueryParserTokenManager.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\Token.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\QueryParser\TokenMgrError.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\BooleanClause.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\BooleanQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\BooleanScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\BooleanScorer2.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\CachingSpanFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\CachingWrapperFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Collector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ComplexExplanation.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ConjunctionScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ConstantScoreQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\DefaultSimilarity.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\DisjunctionMaxQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\DisjunctionMaxScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\DisjunctionSumScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\DocIdSet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\DocIdSetIterator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ExactPhraseScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Explanation.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldCache.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldCacheImpl.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldCacheRangeFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldCacheTermsFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldComparator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldComparatorSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldDoc.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldDocSortedHitQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FieldValueHitQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Filter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FilteredDocIdSet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FilteredDocIdSetIterator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FilteredQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FilteredTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FilterManager.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\ByteFieldSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\CustomScoreProvider.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\CustomScoreQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\DocValues.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\FieldCacheSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\FieldScoreQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\FloatFieldSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\IntFieldSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\OrdFieldSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\ReverseOrdFieldSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\ShortFieldSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\ValueSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Function\ValueSourceQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FuzzyQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\FuzzyTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\HitQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\IndexSearcher.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\MatchAllDocsQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\MultiPhraseQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\MultiSearcher.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\MultiTermQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\MultiTermQueryWrapperFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\NumericRangeFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\NumericRangeQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ParallelMultiSearcher.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\AveragePayloadFunction.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\MaxPayloadFunction.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\MinPayloadFunction.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadFunction.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadNearQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadSpanUtil.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadTermQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PhrasePositions.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PhraseQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PhraseQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PhraseScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PositiveScoresOnlyCollector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PrefixFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PrefixQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\PrefixTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Query.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\QueryTermVector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\QueryWrapperFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ReqExclScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ReqOptSumScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ScoreCachingWrappingScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\ScoreDoc.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Scorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Searchable.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Searcher.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Similarity.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SimilarityDelegator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SingleTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SloppyPhraseScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Sort.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SortField.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SpanFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SpanFilterResult.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\SpanQueryFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\FieldMaskingSpanQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\NearSpansOrdered.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\NearSpansUnordered.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanFirstQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanNearQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanNotQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanOrQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\Spans.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanTermQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\SpanWeight.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Spans\TermSpans.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TermQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TermRangeFilter.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TermRangeQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TermRangeTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TermScorer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TimeLimitingCollector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TopDocs.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TopDocsCollector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TopFieldCollector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TopFieldDocs.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\TopScoreDocCollector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\Weight.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\WildcardQuery.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Search\WildcardTermEnum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\AlreadyClosedException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\BufferedIndexInput.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\BufferedIndexOutput.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\CheckSumIndexInput.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\CheckSumIndexOutput.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\Directory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\FileSwitchDirectory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\FSDirectory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\FSLockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\IndexInput.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\IndexOutput.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\Lock.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\LockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\LockObtainFailedException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\LockReleaseFailedException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\LockStressTest.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\LockVerifyServer.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\MMapDirectory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\NativeFSLockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\NIOFSDirectory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\NoLockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\NoSuchDirectoryException.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\RAMDirectory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\RAMFile.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\RAMInputStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\RAMOutputStream.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\SimpleFSDirectory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\SimpleFSLockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\SingleInstanceLockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Store\VerifyingLockFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\AppSettings.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\AttributeImplItem.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\BitSetSupport.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\BuildType.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Character.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\CloseableThreadLocalProfiler.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\CollectionsHelper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compare.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\ConcurrentDictionary.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\Func.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\ISet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\SetFactory.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\SortedSet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\ThreadLocal.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Compatibility\WrappedHashSet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\CRC32.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Cryptography.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Deflater.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Double.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\EquatableList.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\FileSupport.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\GeneralKeyedCollection.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\HashMap.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\IChecksum.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Inflater.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\IThreadRunnable.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Number.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\OS.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\SharpZipLib.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\Single.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\TextSupport.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\ThreadClass.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\ThreadLock.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Support\WeakDictionary.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\ArrayUtil.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\Attribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\AttributeSource.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\AverageGuessMemoryModel.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\BitUtil.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\BitVector.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\Cache\Cache.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\Cache\SimpleLRUCache.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\Cache\SimpleMapCache.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\CloseableThreadLocal.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\Constants.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\DocIdBitSet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\FieldCacheSanityChecker.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\IAttribute.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\IdentityDictionary.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\IndexableBinaryStringTools.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\MapOfSets.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\MemoryModel.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\NumericUtils.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\OpenBitSet.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\OpenBitSetDISI.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\OpenBitSetIterator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\PriorityQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\RamUsageEstimator.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\ReaderUtil.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\ScorerDocQueue.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\SimpleStringInterner.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\SmallFloat.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\SortedVIntList.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\SorterTemplate.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\StringHelper.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\StringInterner.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\ToStringUtils.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\UnicodeUtil.cs" />\r
-    <Compile Include="..\..\..\external\Lucene.Net.Light\src\core\Util\Version.cs" />\r
-    <Compile Include="Assembly\AssemblyInfo.cs" />\r
-    <Compile Include="Mono.Documentation\ManifestResourceResolver.cs" />\r
-    <Compile Include="Mono.Documentation\XmlDocUtils.cs" />\r
-    <Compile Include="Mono.Utilities\colorizer.cs" />\r
-    <Compile Include="Mono.Utilities\LRUCache.cs" />\r
-    <Compile Include="Monodoc.Ecma\EcmaDesc.cs" />\r
-    <Compile Include="Monodoc.Ecma\EcmaUrlParser.cs" />\r
-    <Compile Include="Monodoc.Ecma\EcmaUrlTokenizer.cs" />\r
-    <Compile Include="Monodoc\cache.cs" />\r
-    <Compile Include="Monodoc\caches\FileCache.cs" />\r
-    <Compile Include="Monodoc\caches\NullCache.cs" />\r
-    <Compile Include="Monodoc\generator.cs" />\r
-    <Compile Include="Monodoc\generators\html\Addin2Html.cs" />\r
-    <Compile Include="Monodoc\generators\html\Ecma2Html.cs" />\r
-    <Compile Include="Monodoc\generators\html\Ecmaspec2Html.cs" />\r
-    <Compile Include="Monodoc\generators\html\Error2Html.cs" />\r
-    <Compile Include="Monodoc\generators\html\Idem.cs" />\r
-    <Compile Include="Monodoc\generators\html\Man2Html.cs" />\r
-    <Compile Include="Monodoc\generators\html\MonoBook2Html.cs" />\r
-    <Compile Include="Monodoc\generators\html\Toc2Html.cs" />\r
-    <Compile Include="Monodoc\generators\HtmlGenerator.cs" />\r
-    <Compile Include="Monodoc\generators\RawGenerator.cs" />\r
-    <Compile Include="Monodoc\HelpSource.cs" />\r
-    <Compile Include="Monodoc\HelpSource_Legacy.cs" />\r
-    <Compile Include="Monodoc\index.cs" />\r
-    <Compile Include="Monodoc\Node.cs" />\r
-    <Compile Include="Monodoc\Node_Legacy.cs" />\r
-    <Compile Include="Monodoc\Provider.cs" />\r
-    <Compile Include="Monodoc\providers\addins-provider.cs" />\r
-    <Compile Include="Monodoc\providers\EcmaDoc.cs" />\r
-    <Compile Include="Monodoc\providers\ecma-provider.cs" />\r
-    <Compile Include="Monodoc\providers\ecmaspec-provider.cs" />\r
-    <Compile Include="Monodoc\providers\ecmauncompiled-provider.cs" />\r
-    <Compile Include="Monodoc\providers\error-provider.cs" />\r
-    <Compile Include="Monodoc\providers\man-provider.cs" />\r
-    <Compile Include="Monodoc\providers\xhtml-provider.cs" />\r
-    <Compile Include="Monodoc\RootTree.cs" />\r
-    <Compile Include="Monodoc\RootTree_Legacy.cs" />\r
-    <Compile Include="Monodoc\SearchableDocument.cs" />\r
-    <Compile Include="Monodoc\SearchableIndex.cs" />\r
-    <Compile Include="Monodoc\settings.cs" />\r
-    <Compile Include="Monodoc\settings_Legacy.cs" />\r
-    <Compile Include="Monodoc\storage.cs" />\r
-    <Compile Include="Monodoc\storage\NullStorage.cs" />\r
-    <Compile Include="Monodoc\storage\UncompiledDocStorage.cs" />\r
-    <Compile Include="Monodoc\storage\ZipStorage.cs" />\r
-    <Compile Include="Monodoc\Tree.cs" />\r
-    <Compile Include="Monodoc\TypeUtils.cs" />\r  </ItemGroup>\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Analyzer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\ASCIIFoldingFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\BaseCharFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\CachingTokenFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\CharArraySet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\CharFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\CharReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\CharStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\CharTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\ISOLatin1AccentFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\KeywordAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\KeywordTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\LengthFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\LetterTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\LowerCaseFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\LowerCaseTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\MappingCharFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\NormalizeCharMap.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\NumericTokenStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\PerFieldAnalyzerWrapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\PorterStemFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\PorterStemmer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\SimpleAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Standard\StandardTokenizerImpl.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\StopAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\StopFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\TeeSinkTokenFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Token.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\FlagsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IFlagsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IOffsetAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IPayloadAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\IPositionIncrementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\ITermAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\ITypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\OffsetAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\PayloadAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\PositionIncrementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\TermAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenattributes\TypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\TokenFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\Tokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\TokenStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\WhitespaceAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\WhitespaceTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Analysis\WordlistLoader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\AbstractField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\CompressionTools.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\DateField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\DateTools.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\Document.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\Field.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\Fieldable.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\FieldSelector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\FieldSelectorResult.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\LoadFirstFieldSelector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\MapFieldSelector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\NumberTools.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\NumericField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Document\SetBasedFieldSelector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\AbstractAllTermDocs.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\AllTermDocs.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\BufferedDeletes.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ByteBlockPool.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ByteSliceReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ByteSliceWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\CharBlockPool.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\CheckIndex.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\CompoundFileReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\CompoundFileWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ConcurrentMergeScheduler.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\CorruptIndexException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DefaultSkipListReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DefaultSkipListWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DirectoryReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocConsumerPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldConsumerPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldConsumerPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldConsumers.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldConsumersPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldConsumersPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldProcessor.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldProcessorPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocFieldProcessorPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocInverter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocInverterPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocInverterPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocumentsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\DocumentsWriterThreadState.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldInfo.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldInfos.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldInvertState.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldReaderException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldSortedTermVectorMapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldsReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FieldsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FilterIndexReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsDocsConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsDocsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsFieldsConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsFieldsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsPositionsConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsPositionsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsTermsConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FormatPostingsTermsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FreqProxFieldMergeState.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FreqProxTermsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FreqProxTermsWriterPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\FreqProxTermsWriterPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexCommit.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexDeletionPolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexFileDeleter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexFileNameFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexFileNames.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IndexWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\IntBlockPool.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\InvertedDocConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\InvertedDocConsumerPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\InvertedDocConsumerPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\InvertedDocEndConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\InvertedDocEndConsumerPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\InvertedDocEndConsumerPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\KeepOnlyLastCommitDeletionPolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\LogByteSizeMergePolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\LogDocMergePolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\LogMergePolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MergeDocIDRemapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MergePolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MergeScheduler.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MultiLevelSkipListReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MultiLevelSkipListWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MultipleTermPositions.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\MultiReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\NormsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\NormsWriterPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\NormsWriterPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ParallelReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\Payload.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\PositionBasedTermVectorMapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\RawPostingList.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ReadOnlyDirectoryReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ReadOnlySegmentReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\ReusableStringReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentInfo.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentInfos.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentMergeInfo.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentMergeQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentMerger.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentTermDocs.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentTermPositions.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentTermPositionVector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentTermVector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SegmentWriteState.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SerialMergeScheduler.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SnapshotDeletionPolicy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\SortedTermVectorMapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\StaleReaderException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\StoredFieldsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\StoredFieldsWriterPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\Term.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermBuffer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermDocs.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermFreqVector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermInfo.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermInfosReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermInfosWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermPositions.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermPositionVector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermsHash.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermsHashConsumer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermsHashConsumerPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermsHashConsumerPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermsHashPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermsHashPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorEntry.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorEntryFreqSortedComparator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorMapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorOffsetInfo.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorsReader.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorsTermsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorsTermsWriterPerField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorsTermsWriterPerThread.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Index\TermVectorsWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\LucenePackage.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\LZOCompressor.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Messages\INLSException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Messages\Message.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Messages\MessageImpl.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Messages\NLS.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\CharStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\FastCharStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\MultiFieldQueryParser.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\ParseException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\QueryParser.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\QueryParserConstants.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\QueryParserTokenManager.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\Token.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\QueryParser\TokenMgrError.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\BooleanClause.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\BooleanQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\BooleanScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\BooleanScorer2.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\CachingSpanFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\CachingWrapperFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Collector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ComplexExplanation.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ConjunctionScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ConstantScoreQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\DefaultSimilarity.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\DisjunctionMaxQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\DisjunctionMaxScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\DisjunctionSumScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\DocIdSet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\DocIdSetIterator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ExactPhraseScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Explanation.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldCache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldCacheImpl.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldCacheRangeFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldCacheTermsFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldComparator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldComparatorSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldDoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldDocSortedHitQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FieldValueHitQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Filter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FilteredDocIdSet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FilteredDocIdSetIterator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FilteredQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FilteredTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FilterManager.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\ByteFieldSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\CustomScoreProvider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\CustomScoreQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\DocValues.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\FieldCacheSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\FieldScoreQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\FloatFieldSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\IntFieldSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\OrdFieldSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\ReverseOrdFieldSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\ShortFieldSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\ValueSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Function\ValueSourceQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FuzzyQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\FuzzyTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\HitQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\IndexSearcher.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\MatchAllDocsQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\MultiPhraseQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\MultiSearcher.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\MultiTermQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\MultiTermQueryWrapperFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\NumericRangeFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\NumericRangeQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ParallelMultiSearcher.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\AveragePayloadFunction.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\MaxPayloadFunction.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\MinPayloadFunction.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadFunction.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadNearQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadSpanUtil.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Payloads\PayloadTermQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PhrasePositions.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PhraseQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PhraseQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PhraseScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PositiveScoresOnlyCollector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PrefixFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PrefixQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\PrefixTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Query.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\QueryTermVector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\QueryWrapperFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ReqExclScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ReqOptSumScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ScoreCachingWrappingScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\ScoreDoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Scorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Searchable.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Searcher.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Similarity.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SimilarityDelegator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SingleTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SloppyPhraseScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Sort.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SortField.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SpanFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SpanFilterResult.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\SpanQueryFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\FieldMaskingSpanQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\NearSpansOrdered.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\NearSpansUnordered.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanFirstQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanNearQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanNotQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanOrQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\Spans.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanTermQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\SpanWeight.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Spans\TermSpans.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TermQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TermRangeFilter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TermRangeQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TermRangeTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TermScorer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TimeLimitingCollector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TopDocs.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TopDocsCollector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TopFieldCollector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TopFieldDocs.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\TopScoreDocCollector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\Weight.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\WildcardQuery.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Search\WildcardTermEnum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\AlreadyClosedException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\BufferedIndexInput.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\BufferedIndexOutput.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\CheckSumIndexInput.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\CheckSumIndexOutput.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\Directory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\FileSwitchDirectory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\FSDirectory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\FSLockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\IndexInput.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\IndexOutput.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\Lock.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\LockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\LockObtainFailedException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\LockReleaseFailedException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\LockStressTest.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\LockVerifyServer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\MMapDirectory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\NativeFSLockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\NIOFSDirectory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\NoLockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\NoSuchDirectoryException.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\RAMDirectory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\RAMFile.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\RAMInputStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\RAMOutputStream.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\SimpleFSDirectory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\SimpleFSLockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\SingleInstanceLockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Store\VerifyingLockFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\AppSettings.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\AttributeImplItem.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\BitSetSupport.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\BuildType.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Character.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\CloseableThreadLocalProfiler.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\CollectionsHelper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compare.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\ConcurrentDictionary.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\Func.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\ISet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\SetFactory.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\SortedSet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\ThreadLocal.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Compatibility\WrappedHashSet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\CRC32.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Cryptography.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Deflater.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Double.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\EquatableList.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\FileSupport.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\GeneralKeyedCollection.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\HashMap.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\IChecksum.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Inflater.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\IThreadRunnable.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Number.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\OS.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\SharpZipLib.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\Single.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\TextSupport.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\ThreadClass.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\ThreadLock.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Support\WeakDictionary.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\ArrayUtil.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\Attribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\AttributeSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\AverageGuessMemoryModel.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\BitUtil.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\BitVector.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\Cache\Cache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\Cache\SimpleLRUCache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\Cache\SimpleMapCache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\CloseableThreadLocal.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\Constants.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\DocIdBitSet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\FieldCacheSanityChecker.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\IAttribute.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\IdentityDictionary.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\IndexableBinaryStringTools.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\MapOfSets.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\MemoryModel.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\NumericUtils.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\OpenBitSet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\OpenBitSetDISI.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\OpenBitSetIterator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\PriorityQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\RamUsageEstimator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\ReaderUtil.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\ScorerDocQueue.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\SimpleStringInterner.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\SmallFloat.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\SortedVIntList.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\SorterTemplate.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\StringHelper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\StringInterner.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\ToStringUtils.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\UnicodeUtil.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\external\Lucene.Net.Light\src\core\Util\Version.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Mono.Documentation\ManifestResourceResolver.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Mono.Documentation\XmlDocUtils.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Mono.Utilities\colorizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Mono.Utilities\LRUCache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc.Ecma\EcmaDesc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc.Ecma\EcmaUrlTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc.Ecma\prebuilt\EcmaUrlParser.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\cache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\caches\FileCache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\caches\NullCache.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Addin2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Ecma2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Ecmaspec2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Error2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Idem.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Man2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\MonoBook2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\html\Toc2Html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\HtmlGenerator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\generators\RawGenerator.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\HelpSource.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\HelpSource_Legacy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\index.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\Node.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\Node_Legacy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\Provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\addins-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\EcmaDoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\ecma-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\ecmaspec-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\ecmauncompiled-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\error-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\man-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\providers\xhtml-provider.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\RootTree.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\RootTree_Legacy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\SearchableDocument.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\SearchableIndex.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\settings.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\settings_Legacy.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\storage.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\storage\NullStorage.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\storage\UncompiledDocStorage.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\storage\ZipStorage.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\Tree.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\monodoc\Monodoc\TypeUtils.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r  </ItemGroup>\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
@@ -584,181 +584,181 @@ $(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(Proje
     <EmbeddedResource Include="../../docs/monodoc.xml">\r
       <LogicalName>monodoc.xml</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/base.css">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/base.css">\r
       <LogicalName>base.css</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/ecmaspec-html-css.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/ecmaspec-html-css.xsl">\r
       <LogicalName>ecmaspec-html-css.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/ecmaspec-html.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/ecmaspec-html.xsl">\r
       <LogicalName>ecmaspec-html.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/ecmaspec.css">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/ecmaspec.css">\r
       <LogicalName>ecmaspec.css</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/helper.js">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/helper.js">\r
       <LogicalName>helper.js</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/home.html">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/home.html">\r
       <LogicalName>home.html</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/Lminus.gif">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/Lminus.gif">\r
       <LogicalName>Lminus.gif</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/Lplus.gif">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/Lplus.gif">\r
       <LogicalName>Lplus.gif</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/creativecommons.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/creativecommons.png">\r
       <LogicalName>creativecommons.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mdoc-html-format.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-html-format.xsl">\r
       <LogicalName>mdoc-html-format.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mdoc-html-utils.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-html-utils.xsl">\r
       <LogicalName>mdoc-html-utils.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mdoc-sections-css.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-sections-css.xsl">\r
       <LogicalName>mdoc-sections-css.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mdoc-sections.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-sections.xsl">\r
       <LogicalName>mdoc-sections.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mono-ecma-css.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mono-ecma-css.xsl">\r
       <LogicalName>mono-ecma-css.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mono-ecma-impl.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mono-ecma-impl.xsl">\r
       <LogicalName>mono-ecma-impl.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mono-ecma.css">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mono-ecma.css">\r
       <LogicalName>mono-ecma.css</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/mono-ecma.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mono-ecma.xsl">\r
       <LogicalName>mono-ecma.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/toc-html.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/toc-html.xsl">\r
       <LogicalName>toc-html.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/bc_bg.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/bc_bg.png">\r
       <LogicalName>bc_bg.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/bc_separator.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/bc_separator.png">\r
       <LogicalName>bc_separator.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/error.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/error.png">\r
       <LogicalName>error.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/hatch.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/hatch.png">\r
       <LogicalName>hatch.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/headerbg.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/headerbg.png">\r
       <LogicalName>headerbg.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/help.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/help.png">\r
       <LogicalName>help.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/house.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/house.png">\r
       <LogicalName>house.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/members.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/members.png">\r
       <LogicalName>members.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/namespace.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/namespace.png">\r
       <LogicalName>namespace.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privclass.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privclass.png">\r
       <LogicalName>privclass.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privdelegate.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privdelegate.png">\r
       <LogicalName>privdelegate.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privenumeration.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privenumeration.png">\r
       <LogicalName>privenumeration.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privevent.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privevent.png">\r
       <LogicalName>privevent.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privextension.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privextension.png">\r
       <LogicalName>privextension.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privfield.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privfield.png">\r
       <LogicalName>privfield.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privinterface.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privinterface.png">\r
       <LogicalName>privinterface.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privmethod.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privmethod.png">\r
       <LogicalName>privmethod.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privproperty.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privproperty.png">\r
       <LogicalName>privproperty.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/privstructure.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/privstructure.png">\r
       <LogicalName>privstructure.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protclass.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protclass.png">\r
       <LogicalName>protclass.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protdelegate.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protdelegate.png">\r
       <LogicalName>protdelegate.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protenumeration.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protenumeration.png">\r
       <LogicalName>protenumeration.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protevent.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protevent.png">\r
       <LogicalName>protevent.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protextension.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protextension.png">\r
       <LogicalName>protextension.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protfield.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protfield.png">\r
       <LogicalName>protfield.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protinterface.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protinterface.png">\r
       <LogicalName>protinterface.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protmethod.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protmethod.png">\r
       <LogicalName>protmethod.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protproperty.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protproperty.png">\r
       <LogicalName>protproperty.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/protstructure.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/protstructure.png">\r
       <LogicalName>protstructure.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubclass.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubclass.png">\r
       <LogicalName>pubclass.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubdelegate.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubdelegate.png">\r
       <LogicalName>pubdelegate.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubenumeration.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubenumeration.png">\r
       <LogicalName>pubenumeration.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubevent.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubevent.png">\r
       <LogicalName>pubevent.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubextension.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubextension.png">\r
       <LogicalName>pubextension.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubfield.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubfield.png">\r
       <LogicalName>pubfield.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubinterface.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubinterface.png">\r
       <LogicalName>pubinterface.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubmethod.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubmethod.png">\r
       <LogicalName>pubmethod.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubproperty.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubproperty.png">\r
       <LogicalName>pubproperty.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/pubstructure.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/pubstructure.png">\r
       <LogicalName>pubstructure.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/reference.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/reference.png">\r
       <LogicalName>reference.png</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/images/treebg.png">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/images/treebg.png">\r
       <LogicalName>treebg.png</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index a4e89d0ed579665bebd6161dd9980f31cc5de9d6..ca4a77f9d62f688a87c73ea8d432a769cc089f43 100644 (file)
 Assembly/AssemblyInfo.cs
-Monodoc/SearchableIndex.cs
-Monodoc/SearchableDocument.cs
-Monodoc/storage/ZipStorage.cs
-Monodoc/storage/NullStorage.cs
-Monodoc/storage/UncompiledDocStorage.cs
-Monodoc/providers/man-provider.cs
-Monodoc/providers/ecmaspec-provider.cs
-Monodoc/providers/error-provider.cs
-Monodoc/providers/xhtml-provider.cs
-Monodoc/providers/ecma-provider.cs
-Monodoc/providers/addins-provider.cs
-Monodoc/providers/ecmauncompiled-provider.cs
-Monodoc/providers/EcmaDoc.cs
-Monodoc/HelpSource.cs
-Monodoc/HelpSource_Legacy.cs
-Monodoc/Tree.cs
-Monodoc/Node.cs
-Monodoc/Node_Legacy.cs
-Monodoc/generator.cs
-Monodoc/caches/NullCache.cs
-Monodoc/caches/FileCache.cs
-Monodoc/storage.cs
-Monodoc/Provider.cs
-Monodoc/cache.cs
-Monodoc/index.cs
-Monodoc/settings.cs
-Monodoc/settings_Legacy.cs
-Monodoc/RootTree.cs
-Monodoc/RootTree_Legacy.cs
-Monodoc/TypeUtils.cs
-Monodoc/generators/html/Man2Html.cs
-Monodoc/generators/html/Toc2Html.cs
-Monodoc/generators/html/Ecmaspec2Html.cs
-Monodoc/generators/html/Error2Html.cs
-Monodoc/generators/html/MonoBook2Html.cs
-Monodoc/generators/html/Ecma2Html.cs
-Monodoc/generators/html/Addin2Html.cs
-Monodoc/generators/html/Idem.cs
-Monodoc/generators/HtmlGenerator.cs
-Monodoc/generators/RawGenerator.cs
-Mono.Utilities/colorizer.cs
-Mono.Utilities/LRUCache.cs
-Monodoc.Ecma/EcmaUrlParser.cs
-Monodoc.Ecma/EcmaUrlTokenizer.cs
-Monodoc.Ecma/EcmaDesc.cs
-Mono.Documentation/ManifestResourceResolver.cs
-Mono.Documentation/XmlDocUtils.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Analyzer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/ASCIIFoldingFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/BaseCharFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/CachingTokenFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/CharArraySet.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/CharFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/CharReader.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/CharStream.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/CharTokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/ISOLatin1AccentFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/KeywordAnalyzer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/KeywordTokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/LengthFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/LetterTokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/LowerCaseFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/LowerCaseTokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/MappingCharFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/NormalizeCharMap.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/NumericTokenStream.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/PerFieldAnalyzerWrapper.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/PorterStemFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/PorterStemmer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/SimpleAnalyzer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Standard/StandardAnalyzer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Standard/StandardFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Standard/StandardTokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Standard/StandardTokenizerImpl.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/StopAnalyzer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/StopFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/TeeSinkTokenFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Token.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/FlagsAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IFlagsAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IOffsetAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IPayloadAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IPositionIncrementAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/ITermAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/ITypeAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/OffsetAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/PayloadAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/PositionIncrementAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/TermAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/TypeAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/TokenFilter.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/Tokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/TokenStream.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/WhitespaceAnalyzer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/WhitespaceTokenizer.cs
-../../../external/Lucene.Net.Light/src/core/Analysis/WordlistLoader.cs
-../../../external/Lucene.Net.Light/src/core/Document/AbstractField.cs
-../../../external/Lucene.Net.Light/src/core/Document/CompressionTools.cs
-../../../external/Lucene.Net.Light/src/core/Document/DateField.cs
-../../../external/Lucene.Net.Light/src/core/Document/DateTools.cs
-../../../external/Lucene.Net.Light/src/core/Document/Document.cs
-../../../external/Lucene.Net.Light/src/core/Document/Field.cs
-../../../external/Lucene.Net.Light/src/core/Document/Fieldable.cs
-../../../external/Lucene.Net.Light/src/core/Document/FieldSelector.cs
-../../../external/Lucene.Net.Light/src/core/Document/FieldSelectorResult.cs
-../../../external/Lucene.Net.Light/src/core/Document/LoadFirstFieldSelector.cs
-../../../external/Lucene.Net.Light/src/core/Document/MapFieldSelector.cs
-../../../external/Lucene.Net.Light/src/core/Document/NumberTools.cs
-../../../external/Lucene.Net.Light/src/core/Document/NumericField.cs
-../../../external/Lucene.Net.Light/src/core/Document/SetBasedFieldSelector.cs
-../../../external/Lucene.Net.Light/src/core/Index/AbstractAllTermDocs.cs
-../../../external/Lucene.Net.Light/src/core/Index/AllTermDocs.cs
-../../../external/Lucene.Net.Light/src/core/Index/BufferedDeletes.cs
-../../../external/Lucene.Net.Light/src/core/Index/ByteBlockPool.cs
-../../../external/Lucene.Net.Light/src/core/Index/ByteSliceReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/ByteSliceWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/CharBlockPool.cs
-../../../external/Lucene.Net.Light/src/core/Index/CheckIndex.cs
-../../../external/Lucene.Net.Light/src/core/Index/CompoundFileReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/CompoundFileWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/ConcurrentMergeScheduler.cs
-../../../external/Lucene.Net.Light/src/core/Index/CorruptIndexException.cs
-../../../external/Lucene.Net.Light/src/core/Index/DefaultSkipListReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/DefaultSkipListWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/DirectoryReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocConsumerPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldConsumerPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldConsumerPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldConsumers.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldConsumersPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldConsumersPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldProcessor.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldProcessorPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocFieldProcessorPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocInverter.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocInverterPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocInverterPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocumentsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/DocumentsWriterThreadState.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldInfo.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldInfos.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldInvertState.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldReaderException.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldSortedTermVectorMapper.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldsReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/FieldsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/FilterIndexReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsDocsConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsDocsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsFieldsConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsFieldsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsPositionsConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsPositionsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsTermsConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/FormatPostingsTermsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/FreqProxFieldMergeState.cs
-../../../external/Lucene.Net.Light/src/core/Index/FreqProxTermsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/FreqProxTermsWriterPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/FreqProxTermsWriterPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexCommit.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexDeletionPolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexFileDeleter.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexFileNameFilter.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexFileNames.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/IndexWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/IntBlockPool.cs
-../../../external/Lucene.Net.Light/src/core/Index/InvertedDocConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/InvertedDocConsumerPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/InvertedDocConsumerPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/InvertedDocEndConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/InvertedDocEndConsumerPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/InvertedDocEndConsumerPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/KeepOnlyLastCommitDeletionPolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/LogByteSizeMergePolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/LogDocMergePolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/LogMergePolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/MergeDocIDRemapper.cs
-../../../external/Lucene.Net.Light/src/core/Index/MergePolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/MergeScheduler.cs
-../../../external/Lucene.Net.Light/src/core/Index/MultiLevelSkipListReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/MultiLevelSkipListWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/MultipleTermPositions.cs
-../../../external/Lucene.Net.Light/src/core/Index/MultiReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/NormsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/NormsWriterPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/NormsWriterPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/ParallelReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/Payload.cs
-../../../external/Lucene.Net.Light/src/core/Index/PositionBasedTermVectorMapper.cs
-../../../external/Lucene.Net.Light/src/core/Index/RawPostingList.cs
-../../../external/Lucene.Net.Light/src/core/Index/ReadOnlyDirectoryReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/ReadOnlySegmentReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/ReusableStringReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentInfo.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentInfos.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentMergeInfo.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentMergeQueue.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentMerger.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentTermDocs.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentTermPositions.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentTermPositionVector.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentTermVector.cs
-../../../external/Lucene.Net.Light/src/core/Index/SegmentWriteState.cs
-../../../external/Lucene.Net.Light/src/core/Index/SerialMergeScheduler.cs
-../../../external/Lucene.Net.Light/src/core/Index/SnapshotDeletionPolicy.cs
-../../../external/Lucene.Net.Light/src/core/Index/SortedTermVectorMapper.cs
-../../../external/Lucene.Net.Light/src/core/Index/StaleReaderException.cs
-../../../external/Lucene.Net.Light/src/core/Index/StoredFieldsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/StoredFieldsWriterPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/Term.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermBuffer.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermDocs.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermFreqVector.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermInfo.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermInfosReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermInfosWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermPositions.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermPositionVector.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermsHash.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermsHashConsumer.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermsHashConsumerPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermsHashConsumerPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermsHashPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermsHashPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorEntry.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorEntryFreqSortedComparator.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorMapper.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorOffsetInfo.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorsReader.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorsTermsWriter.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorsTermsWriterPerField.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorsTermsWriterPerThread.cs
-../../../external/Lucene.Net.Light/src/core/Index/TermVectorsWriter.cs
-../../../external/Lucene.Net.Light/src/core/LucenePackage.cs
-../../../external/Lucene.Net.Light/src/core/LZOCompressor.cs
-../../../external/Lucene.Net.Light/src/core/Messages/INLSException.cs
-../../../external/Lucene.Net.Light/src/core/Messages/Message.cs
-../../../external/Lucene.Net.Light/src/core/Messages/MessageImpl.cs
-../../../external/Lucene.Net.Light/src/core/Messages/NLS.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/CharStream.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/FastCharStream.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/MultiFieldQueryParser.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/ParseException.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/QueryParser.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/QueryParserConstants.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/QueryParserTokenManager.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/Token.cs
-../../../external/Lucene.Net.Light/src/core/QueryParser/TokenMgrError.cs
-../../../external/Lucene.Net.Light/src/core/Search/BooleanClause.cs
-../../../external/Lucene.Net.Light/src/core/Search/BooleanQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/BooleanScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/BooleanScorer2.cs
-../../../external/Lucene.Net.Light/src/core/Search/CachingSpanFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/CachingWrapperFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/Collector.cs
-../../../external/Lucene.Net.Light/src/core/Search/ComplexExplanation.cs
-../../../external/Lucene.Net.Light/src/core/Search/ConjunctionScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/ConstantScoreQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/DefaultSimilarity.cs
-../../../external/Lucene.Net.Light/src/core/Search/DisjunctionMaxQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/DisjunctionMaxScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/DisjunctionSumScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/DocIdSet.cs
-../../../external/Lucene.Net.Light/src/core/Search/DocIdSetIterator.cs
-../../../external/Lucene.Net.Light/src/core/Search/ExactPhraseScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/Explanation.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldCache.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldCacheImpl.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldCacheRangeFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldCacheTermsFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldComparator.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldComparatorSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldDoc.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldDocSortedHitQueue.cs
-../../../external/Lucene.Net.Light/src/core/Search/FieldValueHitQueue.cs
-../../../external/Lucene.Net.Light/src/core/Search/Filter.cs
-../../../external/Lucene.Net.Light/src/core/Search/FilteredDocIdSet.cs
-../../../external/Lucene.Net.Light/src/core/Search/FilteredDocIdSetIterator.cs
-../../../external/Lucene.Net.Light/src/core/Search/FilteredQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/FilteredTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Search/FilterManager.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/ByteFieldSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/CustomScoreProvider.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/CustomScoreQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/DocValues.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/FieldCacheSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/FieldScoreQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/FloatFieldSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/IntFieldSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/OrdFieldSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/ReverseOrdFieldSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/ShortFieldSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/ValueSource.cs
-../../../external/Lucene.Net.Light/src/core/Search/Function/ValueSourceQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/FuzzyQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/FuzzyTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Search/HitQueue.cs
-../../../external/Lucene.Net.Light/src/core/Search/IndexSearcher.cs
-../../../external/Lucene.Net.Light/src/core/Search/MatchAllDocsQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/MultiPhraseQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/MultiSearcher.cs
-../../../external/Lucene.Net.Light/src/core/Search/MultiTermQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/MultiTermQueryWrapperFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/NumericRangeFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/NumericRangeQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/ParallelMultiSearcher.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/AveragePayloadFunction.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/MaxPayloadFunction.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/MinPayloadFunction.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/PayloadFunction.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/PayloadNearQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/PayloadSpanUtil.cs
-../../../external/Lucene.Net.Light/src/core/Search/Payloads/PayloadTermQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/PhrasePositions.cs
-../../../external/Lucene.Net.Light/src/core/Search/PhraseQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/PhraseQueue.cs
-../../../external/Lucene.Net.Light/src/core/Search/PhraseScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/PositiveScoresOnlyCollector.cs
-../../../external/Lucene.Net.Light/src/core/Search/PrefixFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/PrefixQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/PrefixTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Search/Query.cs
-../../../external/Lucene.Net.Light/src/core/Search/QueryTermVector.cs
-../../../external/Lucene.Net.Light/src/core/Search/QueryWrapperFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/ReqExclScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/ReqOptSumScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/ScoreCachingWrappingScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/ScoreDoc.cs
-../../../external/Lucene.Net.Light/src/core/Search/Scorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/Searchable.cs
-../../../external/Lucene.Net.Light/src/core/Search/Searcher.cs
-../../../external/Lucene.Net.Light/src/core/Search/Similarity.cs
-../../../external/Lucene.Net.Light/src/core/Search/SimilarityDelegator.cs
-../../../external/Lucene.Net.Light/src/core/Search/SingleTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Search/SloppyPhraseScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/Sort.cs
-../../../external/Lucene.Net.Light/src/core/Search/SortField.cs
-../../../external/Lucene.Net.Light/src/core/Search/SpanFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/SpanFilterResult.cs
-../../../external/Lucene.Net.Light/src/core/Search/SpanQueryFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/FieldMaskingSpanQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/NearSpansOrdered.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/NearSpansUnordered.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanFirstQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanNearQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanNotQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanOrQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/Spans.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanTermQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/SpanWeight.cs
-../../../external/Lucene.Net.Light/src/core/Search/Spans/TermSpans.cs
-../../../external/Lucene.Net.Light/src/core/Search/TermQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/TermRangeFilter.cs
-../../../external/Lucene.Net.Light/src/core/Search/TermRangeQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/TermRangeTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Search/TermScorer.cs
-../../../external/Lucene.Net.Light/src/core/Search/TimeLimitingCollector.cs
-../../../external/Lucene.Net.Light/src/core/Search/TopDocs.cs
-../../../external/Lucene.Net.Light/src/core/Search/TopDocsCollector.cs
-../../../external/Lucene.Net.Light/src/core/Search/TopFieldCollector.cs
-../../../external/Lucene.Net.Light/src/core/Search/TopFieldDocs.cs
-../../../external/Lucene.Net.Light/src/core/Search/TopScoreDocCollector.cs
-../../../external/Lucene.Net.Light/src/core/Search/Weight.cs
-../../../external/Lucene.Net.Light/src/core/Search/WildcardQuery.cs
-../../../external/Lucene.Net.Light/src/core/Search/WildcardTermEnum.cs
-../../../external/Lucene.Net.Light/src/core/Store/AlreadyClosedException.cs
-../../../external/Lucene.Net.Light/src/core/Store/BufferedIndexInput.cs
-../../../external/Lucene.Net.Light/src/core/Store/BufferedIndexOutput.cs
-../../../external/Lucene.Net.Light/src/core/Store/CheckSumIndexInput.cs
-../../../external/Lucene.Net.Light/src/core/Store/CheckSumIndexOutput.cs
-../../../external/Lucene.Net.Light/src/core/Store/Directory.cs
-../../../external/Lucene.Net.Light/src/core/Store/FileSwitchDirectory.cs
-../../../external/Lucene.Net.Light/src/core/Store/FSDirectory.cs
-../../../external/Lucene.Net.Light/src/core/Store/FSLockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Store/IndexInput.cs
-../../../external/Lucene.Net.Light/src/core/Store/IndexOutput.cs
-../../../external/Lucene.Net.Light/src/core/Store/Lock.cs
-../../../external/Lucene.Net.Light/src/core/Store/LockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Store/LockObtainFailedException.cs
-../../../external/Lucene.Net.Light/src/core/Store/LockReleaseFailedException.cs
-../../../external/Lucene.Net.Light/src/core/Store/LockStressTest.cs
-../../../external/Lucene.Net.Light/src/core/Store/LockVerifyServer.cs
-../../../external/Lucene.Net.Light/src/core/Store/MMapDirectory.cs
-../../../external/Lucene.Net.Light/src/core/Store/NativeFSLockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Store/NIOFSDirectory.cs
-../../../external/Lucene.Net.Light/src/core/Store/NoLockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Store/NoSuchDirectoryException.cs
-../../../external/Lucene.Net.Light/src/core/Store/RAMDirectory.cs
-../../../external/Lucene.Net.Light/src/core/Store/RAMFile.cs
-../../../external/Lucene.Net.Light/src/core/Store/RAMInputStream.cs
-../../../external/Lucene.Net.Light/src/core/Store/RAMOutputStream.cs
-../../../external/Lucene.Net.Light/src/core/Store/SimpleFSDirectory.cs
-../../../external/Lucene.Net.Light/src/core/Store/SimpleFSLockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Store/SingleInstanceLockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Store/VerifyingLockFactory.cs
-../../../external/Lucene.Net.Light/src/core/Support/AppSettings.cs
-../../../external/Lucene.Net.Light/src/core/Support/AttributeImplItem.cs
-../../../external/Lucene.Net.Light/src/core/Support/BitSetSupport.cs
-../../../external/Lucene.Net.Light/src/core/Support/BuildType.cs
-../../../external/Lucene.Net.Light/src/core/Support/Character.cs
-../../../external/Lucene.Net.Light/src/core/Support/CloseableThreadLocalProfiler.cs
-../../../external/Lucene.Net.Light/src/core/Support/CollectionsHelper.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compare.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/ConcurrentDictionary.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/Func.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/ISet.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/SetFactory.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/SortedSet.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/ThreadLocal.cs
-../../../external/Lucene.Net.Light/src/core/Support/Compatibility/WrappedHashSet.cs
-../../../external/Lucene.Net.Light/src/core/Support/CRC32.cs
-../../../external/Lucene.Net.Light/src/core/Support/Cryptography.cs
-../../../external/Lucene.Net.Light/src/core/Support/Deflater.cs
-../../../external/Lucene.Net.Light/src/core/Support/Double.cs
-../../../external/Lucene.Net.Light/src/core/Support/EquatableList.cs
-../../../external/Lucene.Net.Light/src/core/Support/FileSupport.cs
-../../../external/Lucene.Net.Light/src/core/Support/GeneralKeyedCollection.cs
-../../../external/Lucene.Net.Light/src/core/Support/HashMap.cs
-../../../external/Lucene.Net.Light/src/core/Support/IChecksum.cs
-../../../external/Lucene.Net.Light/src/core/Support/Inflater.cs
-../../../external/Lucene.Net.Light/src/core/Support/IThreadRunnable.cs
-../../../external/Lucene.Net.Light/src/core/Support/Number.cs
-../../../external/Lucene.Net.Light/src/core/Support/OS.cs
-../../../external/Lucene.Net.Light/src/core/Support/SharpZipLib.cs
-../../../external/Lucene.Net.Light/src/core/Support/Single.cs
-../../../external/Lucene.Net.Light/src/core/Support/TextSupport.cs
-../../../external/Lucene.Net.Light/src/core/Support/ThreadClass.cs
-../../../external/Lucene.Net.Light/src/core/Support/ThreadLock.cs
-../../../external/Lucene.Net.Light/src/core/Support/WeakDictionary.cs
-../../../external/Lucene.Net.Light/src/core/Util/ArrayUtil.cs
-../../../external/Lucene.Net.Light/src/core/Util/Attribute.cs
-../../../external/Lucene.Net.Light/src/core/Util/AttributeSource.cs
-../../../external/Lucene.Net.Light/src/core/Util/AverageGuessMemoryModel.cs
-../../../external/Lucene.Net.Light/src/core/Util/BitUtil.cs
-../../../external/Lucene.Net.Light/src/core/Util/BitVector.cs
-../../../external/Lucene.Net.Light/src/core/Util/Cache/Cache.cs
-../../../external/Lucene.Net.Light/src/core/Util/Cache/SimpleLRUCache.cs
-../../../external/Lucene.Net.Light/src/core/Util/Cache/SimpleMapCache.cs
-../../../external/Lucene.Net.Light/src/core/Util/CloseableThreadLocal.cs
-../../../external/Lucene.Net.Light/src/core/Util/Constants.cs
-../../../external/Lucene.Net.Light/src/core/Util/DocIdBitSet.cs
-../../../external/Lucene.Net.Light/src/core/Util/FieldCacheSanityChecker.cs
-../../../external/Lucene.Net.Light/src/core/Util/IAttribute.cs
-../../../external/Lucene.Net.Light/src/core/Util/IdentityDictionary.cs
-../../../external/Lucene.Net.Light/src/core/Util/IndexableBinaryStringTools.cs
-../../../external/Lucene.Net.Light/src/core/Util/MapOfSets.cs
-../../../external/Lucene.Net.Light/src/core/Util/MemoryModel.cs
-../../../external/Lucene.Net.Light/src/core/Util/NumericUtils.cs
-../../../external/Lucene.Net.Light/src/core/Util/OpenBitSet.cs
-../../../external/Lucene.Net.Light/src/core/Util/OpenBitSetDISI.cs
-../../../external/Lucene.Net.Light/src/core/Util/OpenBitSetIterator.cs
-../../../external/Lucene.Net.Light/src/core/Util/PriorityQueue.cs
-../../../external/Lucene.Net.Light/src/core/Util/RamUsageEstimator.cs
-../../../external/Lucene.Net.Light/src/core/Util/ReaderUtil.cs
-../../../external/Lucene.Net.Light/src/core/Util/ScorerDocQueue.cs
-../../../external/Lucene.Net.Light/src/core/Util/SimpleStringInterner.cs
-../../../external/Lucene.Net.Light/src/core/Util/SmallFloat.cs
-../../../external/Lucene.Net.Light/src/core/Util/SortedVIntList.cs
-../../../external/Lucene.Net.Light/src/core/Util/SorterTemplate.cs
-../../../external/Lucene.Net.Light/src/core/Util/StringHelper.cs
-../../../external/Lucene.Net.Light/src/core/Util/StringInterner.cs
-../../../external/Lucene.Net.Light/src/core/Util/ToStringUtils.cs
-../../../external/Lucene.Net.Light/src/core/Util/UnicodeUtil.cs
-../../../external/Lucene.Net.Light/src/core/Util/Version.cs
+
+../../../external/api-doc-tools/monodoc/Monodoc/cache.cs
+../../../external/api-doc-tools/monodoc/Monodoc/caches/FileCache.cs
+../../../external/api-doc-tools/monodoc/Monodoc/caches/NullCache.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generator.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Addin2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Ecma2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Ecmaspec2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Error2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Idem.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Man2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/MonoBook2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/html/Toc2Html.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/HtmlGenerator.cs
+../../../external/api-doc-tools/monodoc/Monodoc/generators/RawGenerator.cs
+../../../external/api-doc-tools/monodoc/Monodoc/HelpSource.cs
+../../../external/api-doc-tools/monodoc/Monodoc/HelpSource_Legacy.cs
+../../../external/api-doc-tools/monodoc/Monodoc/index.cs
+../../../external/api-doc-tools/monodoc/Monodoc/Node.cs
+../../../external/api-doc-tools/monodoc/Monodoc/Node_Legacy.cs
+../../../external/api-doc-tools/monodoc/Monodoc/Provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/addins-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/ecma-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/EcmaDoc.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/ecmaspec-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/ecmauncompiled-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/error-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/man-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/providers/xhtml-provider.cs
+../../../external/api-doc-tools/monodoc/Monodoc/RootTree.cs
+../../../external/api-doc-tools/monodoc/Monodoc/RootTree_Legacy.cs
+../../../external/api-doc-tools/monodoc/Monodoc/SearchableDocument.cs
+../../../external/api-doc-tools/monodoc/Monodoc/SearchableIndex.cs
+../../../external/api-doc-tools/monodoc/Monodoc/settings.cs
+../../../external/api-doc-tools/monodoc/Monodoc/settings_Legacy.cs
+../../../external/api-doc-tools/monodoc/Monodoc/storage/NullStorage.cs
+../../../external/api-doc-tools/monodoc/Monodoc/storage/UncompiledDocStorage.cs
+../../../external/api-doc-tools/monodoc/Monodoc/storage/ZipStorage.cs
+../../../external/api-doc-tools/monodoc/Monodoc/storage.cs
+../../../external/api-doc-tools/monodoc/Monodoc/Tree.cs
+../../../external/api-doc-tools/monodoc/Monodoc/TypeUtils.cs
+
+../../../external/api-doc-tools/monodoc/Monodoc.Ecma/EcmaDesc.cs
+../../../external/api-doc-tools/monodoc/Monodoc.Ecma/EcmaUrlTokenizer.cs
+../../../external/api-doc-tools/monodoc/Monodoc.Ecma/prebuilt/EcmaUrlParser.cs
+
+../../../external/api-doc-tools/monodoc/Mono.Utilities/colorizer.cs
+../../../external/api-doc-tools/monodoc/Mono.Utilities/LRUCache.cs
+
+../../../external/api-doc-tools/monodoc/Mono.Documentation/ManifestResourceResolver.cs
+../../../external/api-doc-tools/monodoc/Mono.Documentation/XmlDocUtils.cs
+
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Analyzer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/ASCIIFoldingFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/BaseCharFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/CachingTokenFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/CharArraySet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/CharFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/CharReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/CharStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/CharTokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/ISOLatin1AccentFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/KeywordAnalyzer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/KeywordTokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/LengthFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/LetterTokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/LowerCaseFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/LowerCaseTokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/MappingCharFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/NormalizeCharMap.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/NumericTokenStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/PerFieldAnalyzerWrapper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/PorterStemFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/PorterStemmer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/SimpleAnalyzer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Standard/StandardAnalyzer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Standard/StandardFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Standard/StandardTokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Standard/StandardTokenizerImpl.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/StopAnalyzer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/StopFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/TeeSinkTokenFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Token.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/FlagsAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IFlagsAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IOffsetAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IPayloadAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/IPositionIncrementAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/ITermAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/ITypeAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/OffsetAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/PayloadAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/PositionIncrementAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/TermAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenattributes/TypeAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/TokenFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/Tokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/TokenStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/WhitespaceAnalyzer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/WhitespaceTokenizer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Analysis/WordlistLoader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/AbstractField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/CompressionTools.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/DateField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/DateTools.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/Document.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/Field.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/Fieldable.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/FieldSelector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/FieldSelectorResult.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/LoadFirstFieldSelector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/MapFieldSelector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/NumberTools.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/NumericField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Document/SetBasedFieldSelector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/AbstractAllTermDocs.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/AllTermDocs.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/BufferedDeletes.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ByteBlockPool.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ByteSliceReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ByteSliceWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/CharBlockPool.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/CheckIndex.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/CompoundFileReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/CompoundFileWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ConcurrentMergeScheduler.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/CorruptIndexException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DefaultSkipListReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DefaultSkipListWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DirectoryReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocConsumerPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldConsumerPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldConsumerPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldConsumers.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldConsumersPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldConsumersPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldProcessor.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldProcessorPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocFieldProcessorPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocInverter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocInverterPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocInverterPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocumentsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/DocumentsWriterThreadState.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldInfo.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldInfos.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldInvertState.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldReaderException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldSortedTermVectorMapper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldsReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FieldsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FilterIndexReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsDocsConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsDocsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsFieldsConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsFieldsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsPositionsConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsPositionsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsTermsConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FormatPostingsTermsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FreqProxFieldMergeState.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FreqProxTermsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FreqProxTermsWriterPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/FreqProxTermsWriterPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexCommit.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexDeletionPolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexFileDeleter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexFileNameFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexFileNames.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IndexWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/IntBlockPool.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/InvertedDocConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/InvertedDocConsumerPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/InvertedDocConsumerPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/InvertedDocEndConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/InvertedDocEndConsumerPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/InvertedDocEndConsumerPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/KeepOnlyLastCommitDeletionPolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/LogByteSizeMergePolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/LogDocMergePolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/LogMergePolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MergeDocIDRemapper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MergePolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MergeScheduler.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MultiLevelSkipListReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MultiLevelSkipListWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MultipleTermPositions.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/MultiReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/NormsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/NormsWriterPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/NormsWriterPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ParallelReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/Payload.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/PositionBasedTermVectorMapper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/RawPostingList.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ReadOnlyDirectoryReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ReadOnlySegmentReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/ReusableStringReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentInfo.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentInfos.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentMergeInfo.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentMergeQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentMerger.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentTermDocs.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentTermPositions.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentTermPositionVector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentTermVector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SegmentWriteState.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SerialMergeScheduler.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SnapshotDeletionPolicy.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/SortedTermVectorMapper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/StaleReaderException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/StoredFieldsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/StoredFieldsWriterPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/Term.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermBuffer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermDocs.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermFreqVector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermInfo.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermInfosReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermInfosWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermPositions.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermPositionVector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermsHash.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermsHashConsumer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermsHashConsumerPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermsHashConsumerPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermsHashPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermsHashPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorEntry.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorEntryFreqSortedComparator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorMapper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorOffsetInfo.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorsReader.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorsTermsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorsTermsWriterPerField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorsTermsWriterPerThread.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Index/TermVectorsWriter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/LucenePackage.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/LZOCompressor.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Messages/INLSException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Messages/Message.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Messages/MessageImpl.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Messages/NLS.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/CharStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/FastCharStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/MultiFieldQueryParser.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/ParseException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/QueryParser.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/QueryParserConstants.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/QueryParserTokenManager.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/Token.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/QueryParser/TokenMgrError.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/BooleanClause.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/BooleanQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/BooleanScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/BooleanScorer2.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/CachingSpanFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/CachingWrapperFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Collector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ComplexExplanation.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ConjunctionScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ConstantScoreQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/DefaultSimilarity.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/DisjunctionMaxQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/DisjunctionMaxScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/DisjunctionSumScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/DocIdSet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/DocIdSetIterator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ExactPhraseScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Explanation.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldCache.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldCacheImpl.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldCacheRangeFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldCacheTermsFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldComparator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldComparatorSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldDoc.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldDocSortedHitQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FieldValueHitQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Filter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FilteredDocIdSet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FilteredDocIdSetIterator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FilteredQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FilteredTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FilterManager.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/ByteFieldSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/CustomScoreProvider.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/CustomScoreQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/DocValues.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/FieldCacheSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/FieldScoreQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/FloatFieldSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/IntFieldSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/OrdFieldSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/ReverseOrdFieldSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/ShortFieldSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/ValueSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Function/ValueSourceQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FuzzyQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/FuzzyTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/HitQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/IndexSearcher.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/MatchAllDocsQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/MultiPhraseQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/MultiSearcher.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/MultiTermQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/MultiTermQueryWrapperFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/NumericRangeFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/NumericRangeQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ParallelMultiSearcher.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/AveragePayloadFunction.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/MaxPayloadFunction.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/MinPayloadFunction.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/PayloadFunction.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/PayloadNearQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/PayloadSpanUtil.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Payloads/PayloadTermQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PhrasePositions.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PhraseQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PhraseQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PhraseScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PositiveScoresOnlyCollector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PrefixFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PrefixQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/PrefixTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Query.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/QueryTermVector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/QueryWrapperFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ReqExclScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ReqOptSumScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ScoreCachingWrappingScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/ScoreDoc.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Scorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Searchable.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Searcher.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Similarity.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SimilarityDelegator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SingleTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SloppyPhraseScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Sort.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SortField.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SpanFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SpanFilterResult.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/SpanQueryFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/FieldMaskingSpanQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/NearSpansOrdered.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/NearSpansUnordered.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanFirstQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanNearQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanNotQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanOrQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/Spans.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanTermQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/SpanWeight.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Spans/TermSpans.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TermQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TermRangeFilter.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TermRangeQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TermRangeTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TermScorer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TimeLimitingCollector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TopDocs.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TopDocsCollector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TopFieldCollector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TopFieldDocs.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/TopScoreDocCollector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/Weight.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/WildcardQuery.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Search/WildcardTermEnum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/AlreadyClosedException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/BufferedIndexInput.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/BufferedIndexOutput.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/CheckSumIndexInput.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/CheckSumIndexOutput.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/Directory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/FileSwitchDirectory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/FSDirectory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/FSLockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/IndexInput.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/IndexOutput.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/Lock.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/LockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/LockObtainFailedException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/LockReleaseFailedException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/LockStressTest.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/LockVerifyServer.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/MMapDirectory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/NativeFSLockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/NIOFSDirectory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/NoLockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/NoSuchDirectoryException.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/RAMDirectory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/RAMFile.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/RAMInputStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/RAMOutputStream.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/SimpleFSDirectory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/SimpleFSLockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/SingleInstanceLockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Store/VerifyingLockFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/AppSettings.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/AttributeImplItem.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/BitSetSupport.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/BuildType.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Character.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/CloseableThreadLocalProfiler.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/CollectionsHelper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compare.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/ConcurrentDictionary.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/Func.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/ISet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/SetFactory.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/SortedSet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/ThreadLocal.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Compatibility/WrappedHashSet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/CRC32.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Cryptography.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Deflater.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Double.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/EquatableList.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/FileSupport.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/GeneralKeyedCollection.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/HashMap.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/IChecksum.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Inflater.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/IThreadRunnable.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Number.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/OS.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/SharpZipLib.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/Single.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/TextSupport.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/ThreadClass.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/ThreadLock.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Support/WeakDictionary.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/ArrayUtil.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/Attribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/AttributeSource.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/AverageGuessMemoryModel.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/BitUtil.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/BitVector.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/Cache/Cache.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/Cache/SimpleLRUCache.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/Cache/SimpleMapCache.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/CloseableThreadLocal.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/Constants.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/DocIdBitSet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/FieldCacheSanityChecker.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/IAttribute.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/IdentityDictionary.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/IndexableBinaryStringTools.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/MapOfSets.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/MemoryModel.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/NumericUtils.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/OpenBitSet.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/OpenBitSetDISI.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/OpenBitSetIterator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/PriorityQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/RamUsageEstimator.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/ReaderUtil.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/ScorerDocQueue.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/SimpleStringInterner.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/SmallFloat.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/SortedVIntList.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/SorterTemplate.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/StringHelper.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/StringInterner.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/ToStringUtils.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/UnicodeUtil.cs
+../../../external/api-doc-tools/external/Lucene.Net.Light/src/core/Util/Version.cs
index a3f19b731a01371628deab21a6efcb1866c0df76..92c65e9d508fa93ddcedefeb669c1b08b054085d 100644 (file)
@@ -1,9 +1,9 @@
 ../../test-helpers/NunitHelpers.cs
-Monodoc/HelpSourceTests.cs
-Monodoc/EcmaDocTests.cs
-Monodoc/TreeTest.cs
-Monodoc.Ecma/EcmaUrlTests.cs
-Monodoc/SettingsTest.cs
-Monodoc.Generators/RawGeneratorTests.cs
-Monodoc/NodeTest.cs
-Monodoc/RootTreeTest.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc/EcmaDocTests.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc/HelpSourceTests.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc/NodeTest.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc/RootTreeTest.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc/SettingsTest.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc/TreeTest.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc.Ecma/EcmaUrlTests.cs
+../../../../external/api-doc-tools/monodoc/Test/Monodoc.Generators/RawGeneratorTests.cs
index 80fef4d94d1ba5c65c20b16a99a0e26f2e8b79e5..0f874b3fa5faa630c252b562d40bd36a8a6970f2 100644 (file)
@@ -504,7 +504,7 @@ namespace System.Net {
 #if MONO
         public static IWebProxy CreateDefaultProxy ()
         {
-#if FEATURE_NO_BSD_SOCKETS || ORBIS
+#if FEATURE_NO_BSD_SOCKETS
             throw new PlatformNotSupportedException ();
 #elif MONOTOUCH
             return Mono.Net.CFNetwork.GetDefaultProxy ();
@@ -514,6 +514,8 @@ namespace System.Net {
             if (data != null)
                 return data;
 
+            return new WebProxy (true);
+#elif ORBIS
             return new WebProxy (true);
 #else
             if (Platform.IsMacOS) {
index 2dbd155f782e3b8655cecfb7736aef4df28f1750..55373b7564ebf1ff7cedcc77aa41c989302bb6df 100644 (file)
@@ -79,10 +79,8 @@ namespace System
             {
                 if (s_defaultsInitialized == false)
                 {
-#if !MONO
                     // populate the AppContext with the default set of values
                     AppContextDefaultValues.PopulateDefaultValues();
-#endif
                     s_defaultsInitialized = true;
                 }
             }
@@ -142,7 +140,6 @@ namespace System
                     {
                         return true;
                     }
-#if !MONO
                     // 3. The switch has a valid value, but we need to check for overrides.
                     // Regardless of whether or not the switch has an override, we need to update the value to reflect
                     // the fact that we checked for overrides. 
@@ -152,7 +149,6 @@ namespace System
                         // we found an override!
                         isEnabled = overrideValue;
                     }
-#endif
                     // Update the switch in the dictionary to mark it as 'checked for override'
                     s_switchMap[switchName] = (isEnabled ? SwitchValueState.HasTrueValue : SwitchValueState.HasFalseValue)
                                                 | SwitchValueState.HasLookedForOverride;
@@ -172,7 +168,6 @@ namespace System
                     //    In this case, we want to capture the fact that we looked for a value and found nothing by adding 
                     //    an entry in the dictionary with the 'sentinel' value of 'SwitchValueState.UnknownValue'.
                     //    Example: This will prevent us from trying to find overrides for values that we don't have in the dictionary
-#if !MONO
                     // 1. The value has an override specified.
                     bool overrideValue;
                     if (AppContextDefaultValues.TryGetSwitchOverride(switchName, out overrideValue))
@@ -185,7 +180,6 @@ namespace System
 
                         return true;
                     }
-#endif
                     // 2. The value does not have an override.
                     s_switchMap[switchName] = SwitchValueState.UnknownValue;
                 }
index 8a4018b3983181d9b8d303b74b0b88712730c535..432d81001aa2754fbc748a9fa6f3316aa0c3d642 100644 (file)
@@ -11,6 +11,11 @@ namespace System
 
     internal static class AppContextSwitches
     {
+#if MOBILE
+               public static readonly bool ThrowExceptionIfDisposedCancellationTokenSource = false;
+               public static readonly bool SetActorAsReferenceWhenCopyingClaimsIdentity = false;
+               public static readonly bool NoAsyncCurrentCulture = false;
+#else
         private static int _noAsyncCurrentCulture;
         public static bool NoAsyncCurrentCulture
         {
@@ -130,5 +135,6 @@ namespace System
             switchValue = isSwitchEnabled ? 1 /*true*/ : -1 /*false*/;
             return isSwitchEnabled;
         }
+#endif
     }
 }
index 754e244dd0bc822b43451c092207ea53aa1c2250..21ccffc3f0dc8fe528ab7fd85ac73e91f9717a16 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 500633827a443645239e360a977d718a5f11b6a0..6b1f85fef5e37005cdb179712061e0bbf6dfc49c 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_PROCESS_START;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_PROCESS_START;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_PROCESS_START;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_PROCESS_START;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 63bdb02b357aa080644903b64f1856db145d4f22..bce06915e299f3f1bf2119bebb46ab80e6beebe0 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2d481a2a57a0b41cb50040005aa808d1853a42f2..2cf28af5be3d9645ecc79676d0d0d374dd69e0b2 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a222b28a0ac2d1c50ebf96f54f1ee64ded944c74..37435c8196350f2fd9eadd5144e03ab07bb3dab9 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>MONO;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8ec4b0fd28456dd854bc2cb356d96ad5dead6fd9..75170c0d56ab725f946fd9a0d2fe344624f0e47e 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 39be7828f20956528f687abaf94742ca94999293..50ad2aa20d3f14e1b93981763dbff20f3083f268 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 580846d4bbc7398a12db6c65a13b534e5a23ad98..064a51bbec7fd73721d9a2b61834a07ad3763f26 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;StronglyNamedAssembly</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;StronglyNamedAssembly</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;StronglyNamedAssembly</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;StronglyNamedAssembly</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7c471cec0a0bc8cb3b39debeb10613275d26d299..a16431c63366f6e6b003eeae37402993b0993631 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;StronglyNamedAssembly</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;StronglyNamedAssembly</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;StronglyNamedAssembly</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;StronglyNamedAssembly</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9e6a5a7395f24adf861a3a7f53eb3d6929992ccc..215ee3397293232ca1387dfef597f0a41bf694fd 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;StronglyNamedAssembly</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;StronglyNamedAssembly</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;StronglyNamedAssembly</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;StronglyNamedAssembly</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c22ca7daabe13b53562250eb6f9dda0512323900..6f0fe6532c0bde85f5c4c63f6b98682cd29bac2b 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>StronglyNamedAssembly;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d79c6c554fdc606a70d01a45af4c2c9006a17ee6..b9980412f64c57440a4f48fcea5b3ae047d1cb70 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9018ca5f22d94bbcd05497c24e23988ff5d04e4b..2d5dc903916636f473ad9deb41598245943df9d4 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0a23cc416cb9875d5ba4df96bf05d1073cebc37f..82037fe8104eabb387b7c3d8339d728bcd9b1dab 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 84ae9b88cb56092708b05750ee17ad0d57a0af10..9f74786c7edbfba49bb62cb763eada208a5c8545 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c65542683e2f6301392d89e79a140fa316e839a4..9265e632aeb6b874d58ad3e78827bcfec88fdf48 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3e5b0b925415e4758aab41131ac9e26b76f49254..0ad4bfcd69ea5e23bdbbe5439faba191783b319a 100644 (file)
@@ -147,6 +147,8 @@ namespace Mono.CilStripper {
                        for (int i = 0; i < methodTable.Rows.Count; i++) {
                                MethodRow methodRow = methodTable[i];
 
+                               methodRow.ImplFlags |= MethodImplAttributes.NoInlining;
+
                                MetadataToken methodToken = MetadataToken.FromMetadataRow (TokenType.Method, i);
 
                                MethodDefinition method = (MethodDefinition) assembly.MainModule.LookupByToken (methodToken);
index 95ae82184b86ab69a9e497b00d397b1435ac195a..3fe5ff8bda7114d235062d03e4883a972bcf17c8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a91cd22633b96271037fd28abc851e166c749e1e..7dc46c8614794dd181da1a06a5be3adbeadcb5c8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d7c2daf16af5e5cbe0f232f155077f8527a496b0..f1f1c763f26a7f1b008e183bfdc9118142a36d63 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 29918a4739813e01ce729b78e8668966f466f80e..bbbcb9011005aea1092a08b27231ce10045239e8 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1be6b4dd16e3d170553b221c105a1a8d9703d4b5..5b367264648004597eea9145ef599bbcd76ba99f 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>3021,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>3021,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b9e7adc3e75eddee20d83faf95b82a898e1dc940..956e9b7a3f4015360ee1478e601db062d5053088 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 379e8001f0c16ba39d4f48dd24f03dc712757f99..226b4b2670e9dfa608ede24c3b884d8afb9e22d4 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3dcca34130a91e0ba332052e7438e8689915c237..721bb4e18c6dac5b04b88f7a5228ac5c45badee4 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 99f766d8b6bfd06d915f877e957013a420549bfd..987b3e08c0b1828c2b03f1336a936b3ccb8800d3 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2343a176d71fb908fcb1244e322aa63a75887b00..e28903b2d2539460dbe5888b4f4aa0518bbcd140 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 97425266a120eaaf5004a1bc3ccb200613aac743..c374db323a57505b8c981a76b708c5bf799e9fc2 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index fece88935d61d3c541c8001b85ad4d285d20af03..3ea7b938e93062023310b25a9c8827df992ae318 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 4708bb99e3e58d0ac3cb966f03820a0dec9d9b93..bca5f17109ddeda33654923e23d3e4d18ccff618 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 352cc11d56bf38c026168e47a4a071e0ebe9f740..6d91f7cd9a02e17eae10445d78dc2f80d7a82110 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index b6fd6b5bd71e08feb15b41749ba01f15dfb37b8a..6e8c8846c90d7422a48e3e9c3717a1a77b97608e 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 356e6421ce799d4e5420bce6be6bc1bb91a83708..c538fc6033933d1d6b62acffa24ac7ff025163b1 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 4adbf2b6e2d28a31785f0f68681645141ae7f022..c787b49456db221d526c906e39e27d6e7460ad0e 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 13dc651863c7932150b51e6cfd18fc9030e65aa8..b4aab447f35bc9b69d14c8269f44f336a12ea982 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c0ecaccc639353c6ca8034b6061c6f25b503ca7c..0f47be1811cffd208f02150a5251d80f06e9e229 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index d465b4450ce8cae98b8d631dd0e32a4c4f71bd37..d105b12992a2b471f76cbf9d04f35561dec74d27 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 19a93b9c4f9a2adc4b2391bba1dd0b1dd07a06d6..76eeb47c017253c849237527d06cbe176260f6fa 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 7ca9baff063fa052915900c77a85a18fe65bbd7f..348bfe91fef61d142ee68076e3ada751bb502327 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 74ed0da36a891adfad94c8bbd76bf12684f94b55..4c8bfb4208b9bea42447c8fa4c9ad77f6d0d2935 100644 (file)
@@ -2,20 +2,26 @@ thisdir = tools/mdoc
 SUBDIRS = 
 include ../../build/rules.make
 
-MDOC_COMMON_FLAGS = \
-       /resource:../../class/monodoc/Resources/mdoc-html-format.xsl,mdoc-html-format.xsl    \
-       /resource:../../class/monodoc/Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl      \
-       /resource:../../class/monodoc/Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl  \
-       /resource:../../class/monodoc/Resources/mono-ecma-css.xsl,mono-ecma-css.xsl          \
-       /resource:Resources/defaulttemplate.xsl,defaulttemplate.xsl                 \
-       /resource:Resources/monodoc-ecma.xsd,monodoc-ecma.xsd                       \
-       /resource:Resources/msitomsx.xsl,msitomsx.xsl                               \
-       /resource:Resources/overview.xsl,overview.xsl                               \
-       /resource:Resources/stylesheet.xsl,stylesheet.xsl                           \
+MONODOC_RESOURCES = \
+       Resources/mdoc-html-format.xsl    \
+       Resources/mdoc-html-utils.xsl    \
+       Resources/mdoc-sections-css.xsl  \
+       Resources/mono-ecma-css.xsl
+
+MDOC_RESOURCES = \
+       Resources/defaulttemplate.xsl \
+       Resources/monodoc-ecma.xsd \
+       Resources/msitomsx.xsl \
+       Resources/overview.xsl \
+       Resources/stylesheet.xsl
+
+MDOC_RESOURCES_COMMAND = $(foreach file,$(MDOC_RESOURCES),/resource:../../../external/api-doc-tools/mdoc/$(file),$(notdir $(file)))
+
+MONODOC_RESOURCES_COMMAND = $(foreach file,$(MONODOC_RESOURCES),/resource:../../../external/api-doc-tools/monodoc/$(file),$(notdir $(file)))
 
 LIB_REFS = monodoc System System.Xml System.Core Mono.Cecil ICSharpCode.SharpZipLib System.Xml.Linq System.Web
        
-LOCAL_MCS_FLAGS = $(MDOC_COMMON_FLAGS)
+LOCAL_MCS_FLAGS = $(MDOC_RESOURCES_COMMAND) $(MONODOC_RESOURCES_COMMAND)
 PROGRAM = $(topdir)/class/lib/$(PROFILE)/mdoc.exe
 PROGRAM_DEPS = $(topdir)/class/lib/$(PROFILE)/monodoc.dll
 
@@ -31,18 +37,6 @@ copy-with-deps:
        cp $(topdir)/class/lib/$(PROFILE)/monodoc.dll mdoc-net
 endif
 
-MONODOC_RESOURCES = \
-       ../../class/monodoc/Resources/mdoc-html-utils.xsl    \
-       ../../class/monodoc/Resources/mdoc-sections-css.xsl  \
-       ../../class/monodoc/Resources/mono-ecma-css.xsl
-
-MDOC_RESOURCES = \
-       Resources/defaulttemplate.xsl     \
-       Resources/monodoc-ecma.xsd        \
-       Resources/msitomsx.xsl            \
-       Resources/overview.xsl            \
-       Resources/stylesheet.xsl
-
 MDOC_TEST_FILES = \
        Test/CLILibraryTypes.dtd                                  \
        Test/DocTest-v1.cs                                        \
@@ -53,16 +47,12 @@ MDOC_TEST_FILES = \
        Test/validate.check.monodocer.importslashdoc              \
        Test/validate.check.monodocer.since
 
-EXTRA_DISTFILES = \
-       $(MDOC_RESOURCES) \
-       $(MDOC_TEST_FILES)
-
 MULTI-CLASSIC = Test/DocTest-DropNS-classic.dll Test/DocTest-DropNS-classic-multitest.dll
 MULTI-UNIFIED = Test/DocTest-DropNS-unified.dll Test/DocTest-DropNS-unified-multitest.dll
 
-$(PROGRAM) : $(MDOC_RESOURCES) $(MONODOC_RESOURCES) $(PROGRAM_DEPS)
+$(PROGRAM): $(PROGRAM_DEPS)
 
-PROGRAM_COMPILE = $(CSCOMPILE) -platform:x86
+PROGRAM_COMPILE = $(CSCOMPILE)
 
 include ../../build/executable.make
 
diff --git a/mcs/tools/mdoc/Mono.Documentation/MdocFile.cs b/mcs/tools/mdoc/Mono.Documentation/MdocFile.cs
deleted file mode 100644 (file)
index f1d0a93..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// MdocFile.cs: File utility methods
-//
-// Author:
-//   Jonathan Pryor  <jpryor@novell.com>
-//
-// Copyright (c) 2010 Novell, Inc. (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-
-namespace Mono.Documentation {
-
-       static class MdocFile {
-
-               public static void UpdateFile (string file, Action<string> creator)
-               {
-                       if (!File.Exists (file) || file == "-") {
-                               creator (file);
-                               return;
-                       }
-
-                       string temp = Path.GetTempFileName ();
-                       bool move = true;
-                       try {
-                               creator (temp);
-
-                               using (var a = File.OpenRead (file))
-                               using (var b = File.OpenRead (temp)) {
-                                       if (a.Length == b.Length)
-                                               move = !FileContentsIdentical (a, b);
-                               }
-
-                               if (move) {
-                                       File.Delete (file);
-                                       File.Move (temp, file);
-                               }
-                       }
-                       finally {
-                               if (!move && File.Exists (temp))
-                                       File.Delete (temp);
-                       }
-               }
-
-               static bool FileContentsIdentical (Stream a, Stream b)
-               {
-                       byte[] ba = new byte[4096];
-                       byte[] bb = new byte[4096];
-                       int ra, rb;
-
-                       while ((ra = a.Read (ba, 0, ba.Length)) > 0 &&
-                                       (rb = b.Read (bb, 0, bb.Length)) > 0) {
-                               if (ra != rb)
-                                       return false;
-                               for (int i = 0; i < ra; ++i) {
-                                       if (ba [i] != bb [i])
-                                               return false;
-                               }
-                       }
-                       return true;
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/XhtmlWriter.cs b/mcs/tools/mdoc/Mono.Documentation/XhtmlWriter.cs
deleted file mode 100644 (file)
index 0a393d6..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-//
-// XhtmlWriter.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//     Jonathan Pryor  <jpryor@novell.com>
-//
-// (C)2004 Atsushi Enomoto 
-//
-//
-using System;
-using System.Globalization;
-using System.Collections.Generic;
-using System.Xml;
-
-namespace Mono.Documentation {
-
-       class XhtmlWriter : DelegatingXmlWriter {
-               XmlWriter writer;
-               Stack<string> localNames;
-               Stack<string> namespaces;
-
-               public XhtmlWriter (XmlWriter writer) : base (writer)
-               {
-                       this.writer = writer;
-                       localNames = new Stack<string> ();
-                       namespaces = new Stack<string> ();
-               }
-
-               public override void WriteStartElement (string prefix, string localName, string ns)
-               {
-                       localNames.Push (localName);
-                       namespaces.Push (ns);
-                       writer.WriteStartElement (prefix, localName, ns);
-               }
-
-               public override void WriteEndElement ()
-               {
-                       WriteWiseEndElement (false);
-               }
-
-               public override void WriteFullEndElement ()
-               {
-                       WriteWiseEndElement (true);
-               }
-
-               void WriteWiseEndElement (bool full)
-               {
-                       string localName = localNames.Pop ();
-                       /* string ns = */ namespaces.Pop ();
-                       if (true /* ns == "http://www.w3.org/1999/xhtml" */) {
-                               switch (localName.ToLower (CultureInfo.InvariantCulture)) {
-                               case "area":
-                               case "base":
-                               case "basefont":
-                               case "br":
-                               case "col":
-                               case "frame":
-                               case "hr":
-                               case "img":
-                               case "input":
-                               case "isindex":
-                               case "link":
-                               case "meta":
-                               case "param":
-                                       full = false;
-                                       break;
-                               default:
-                                       full = true;
-                                       break;
-                               }
-                       }
-                       if (full)
-                               writer.WriteFullEndElement ();
-                       else
-                               writer.WriteEndElement ();
-               }
-       }
-
-       class DelegatingXmlWriter : XmlWriter {
-               XmlWriter writer;
-
-               public DelegatingXmlWriter (XmlWriter writer)
-               {
-                       this.writer = writer;
-               }
-
-               public override void Close ()
-               {
-                       writer.Close ();
-               }
-
-               public override void Flush ()
-               {
-                       writer.Flush ();
-               }
-
-               public override string LookupPrefix (string ns)
-               {
-                       return writer.LookupPrefix (ns);
-               }
-
-               public override void WriteBase64 (byte [] buffer, int index, int count)
-               {
-                       writer.WriteBase64 (buffer, index, count);
-               }
-
-               public override void WriteBinHex (byte [] buffer, int index, int count)
-               {
-                       writer.WriteBinHex (buffer, index, count);
-               }
-
-               public override void WriteCData (string text)
-               {
-                       writer.WriteCData (text);
-               }
-
-               public override void WriteCharEntity (char ch)
-               {
-                       writer.WriteCharEntity (ch);
-               }
-
-               public override void WriteChars (char [] buffer, int index, int count)
-               {
-                       writer.WriteChars (buffer, index, count);
-               }
-
-               public override void WriteComment (string text)
-               {
-                       writer.WriteComment (text);
-               }
-
-               public override void WriteDocType (string name, string pubid, string sysid, string subset)
-               {
-                       writer.WriteDocType (name, pubid, sysid, subset);
-               }
-
-               public override void WriteEndAttribute ()
-               {
-                       writer.WriteEndAttribute ();
-               }
-
-               public override void WriteEndDocument ()
-               {
-                       writer.WriteEndDocument ();
-               }
-
-               public override void WriteEndElement ()
-               {
-                       writer.WriteEndElement ();
-               }
-
-               public override void WriteEntityRef (string name)
-               {
-                       writer.WriteEntityRef (name);
-               }
-
-               public override void WriteFullEndElement ()
-               {
-                       writer.WriteFullEndElement ();
-               }
-
-               public override void WriteName (string name)
-               {
-                       writer.WriteName (name);
-               }
-
-               public override void WriteNmToken (string name)
-               {
-                       writer.WriteNmToken (name);
-               }
-
-               public override void WriteNode (XmlReader reader, bool defattr)
-               {
-                       writer.WriteNode (reader, defattr);
-               }
-
-               public override void WriteProcessingInstruction (string name, string text)
-               {
-                       writer.WriteProcessingInstruction (name, text);
-               }
-
-               public override void WriteQualifiedName (string localName, string ns)
-               {
-                       writer.WriteQualifiedName (localName, ns);
-               }
-
-               public override void WriteRaw (string data)
-               {
-                       writer.WriteRaw (data);
-               }
-
-               public override void WriteRaw (char [] buffer, int index, int count)
-               {
-                       writer.WriteRaw (buffer, index, count);
-               }
-
-               public override void WriteStartAttribute (string prefix, string localName, string ns)
-               {
-                       writer.WriteStartAttribute (prefix, localName, ns);
-               }
-
-               public override void WriteStartDocument (bool standalone)
-               {
-                       writer.WriteStartDocument (standalone);
-               }
-
-               public override void WriteStartDocument ()
-               {
-                       writer.WriteStartDocument ();
-               }
-
-               public override void WriteStartElement (string prefix, string localName, string ns)
-               {
-                       writer.WriteStartElement (prefix, localName, ns);
-               }
-
-               public override void WriteString (string text)
-               {
-                       writer.WriteString (text);
-               }
-
-               public override void WriteSurrogateCharEntity (char lowChar, char highChar)
-               {
-                       writer.WriteSurrogateCharEntity (lowChar, highChar);
-               }
-
-               public override void WriteWhitespace (string ws)
-               {
-                       writer.WriteWhitespace (ws);
-               }
-
-               public override WriteState WriteState {
-                       get {
-                               return writer.WriteState;
-                       }
-               }
-
-               public override string XmlLang {
-                       get {
-                               return writer.XmlLang;
-                       }
-               }
-
-               public override XmlSpace XmlSpace {
-                       get {
-                               return writer.XmlSpace;
-                       }
-               }
-       }
-}
-
diff --git a/mcs/tools/mdoc/Mono.Documentation/assembler.cs b/mcs/tools/mdoc/Mono.Documentation/assembler.cs
deleted file mode 100644 (file)
index c8c8915..0000000
+++ /dev/null
@@ -1,415 +0,0 @@
-//
-// The assembler: Help compiler.
-//
-// Author:
-//   Miguel de Icaza (miguel@gnome.org)
-//
-// (C) 2003 Ximian, Inc.
-//
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-using Monodoc;
-using Monodoc.Providers;
-using Mono.Options;
-using System.IO;
-using System.Xml.Linq;
-using System.Xml.XPath;
-using Monodoc.Ecma;
-
-namespace Mono.Documentation {
-
-public class MDocAssembler : MDocCommand {
-       static readonly string[] ValidFormats = {
-               "ecma", 
-               "ecmaspec", 
-               "error", 
-               "hb", 
-               "man", 
-               "simple", 
-               "xhtml"
-       };
-
-       string droppedNamespace = null;
-
-       public static Option[] CreateFormatOptions (MDocCommand self, Dictionary<string, List<string>> formats)
-       {
-               string cur_format = "ecma";
-               var options = new OptionSet () {
-                       { "f|format=",
-                               "The documentation {FORMAT} used in DIRECTORIES.  " + 
-                                       "Valid formats include:\n  " +
-                                       string.Join ("\n  ", ValidFormats) + "\n" +
-                                       "If not specified, the default format is `ecma'.",
-                               v => {
-                                       if (Array.IndexOf (ValidFormats, v) < 0)
-                                               self.Error ("Invalid documentation format: {0}.", v);
-                                       cur_format = v;
-                               } },
-                       { "<>", v => AddFormat (self, formats, cur_format, v) },
-               };
-               return new Option[]{options[0], options[1]};
-       }
-
-       public override void Run (IEnumerable<string> args)
-       {
-               bool replaceNTypes = false;
-               var formats = new Dictionary<string, List<string>> ();
-               string prefix = "tree";
-               var formatOptions = CreateFormatOptions (this, formats);
-               var options = new OptionSet () {
-                       formatOptions [0],
-                       { "o|out=",
-                               "Provides the output file prefix; the files {PREFIX}.zip and " + 
-                                       "{PREFIX}.tree will be created.\n" +
-                                       "If not specified, `tree' is the default PREFIX.",
-                               v => prefix = v },
-                       formatOptions [1],
-                       {"dropns=","The namespace that has been dropped from this version of the assembly.", v => droppedNamespace = v },
-                       {"ntypes","Replace references to native types with their original types.", v => replaceNTypes=true },
-               };
-               List<string> extra = Parse (options, args, "assemble", 
-                               "[OPTIONS]+ DIRECTORIES",
-                               "Assemble documentation within DIRECTORIES for use within the monodoc browser.");
-               if (extra == null)
-                       return;
-
-               List<Provider> list = new List<Provider> ();
-               EcmaProvider ecma = null;
-               bool sort = false;
-               
-               foreach (string format in formats.Keys) {
-                       switch (format) {
-                       case "ecma":
-                               if (ecma == null) {
-                                       ecma = new EcmaProvider ();
-                                       list.Add (ecma);
-                                       sort = true;
-                               }
-                               ecma.FileSource = new MDocFileSource(droppedNamespace, string.IsNullOrWhiteSpace(droppedNamespace) ? ApiStyle.Unified : ApiStyle.Classic) {
-                                       ReplaceNativeTypes = replaceNTypes
-                               };
-                               foreach (string dir in formats [format])
-                                       ecma.AddDirectory (dir);
-                               break;
-
-                       case "xhtml":
-                       case "hb":
-                               list.AddRange (formats [format].Select (d => (Provider) new XhtmlProvider (d)));
-                               break;
-
-                       case "man":
-                               list.Add (new ManProvider (formats [format].ToArray ()));
-                               break;
-
-                       case "error":
-                               list.AddRange (formats [format].Select (d => (Provider) new ErrorProvider (d)));
-                               break;
-
-                       case "ecmaspec":
-                               list.AddRange (formats [format].Select (d => (Provider) new EcmaSpecProvider (d)));
-                               break;
-
-                       case "addins":
-                               list.AddRange (formats [format].Select (d => (Provider) new AddinsProvider (d)));
-                               break;
-                       }
-               }
-
-               HelpSource hs = new HelpSource (prefix, true);
-               hs.TraceLevel = TraceLevel;
-
-               foreach (Provider p in list) {
-                       p.PopulateTree (hs.Tree);
-               }
-
-               if (sort && hs.Tree != null)
-                       hs.Tree.RootNode.Sort ();
-                             
-               //
-               // Flushes the EcmaProvider
-               //
-               foreach (Provider p in list)
-                       p.CloseTree (hs, hs.Tree);
-
-               hs.Save ();
-       }
-
-       private static void AddFormat (MDocCommand self, Dictionary<string, List<string>> d, string format, string file)
-       {
-               if (format == null)
-                       self.Error ("No format specified.");
-               List<string> l;
-               if (!d.TryGetValue (format, out l)) {
-                       l = new List<string> ();
-                       d.Add (format, l);
-               }
-               l.Add (file);
-       }
-}
-
-       /// <summary>
-       /// A custom provider file source that lets us modify the source files before they are processed by monodoc.
-       /// </summary>
-       internal class MDocFileSource : IEcmaProviderFileSource {
-               private string droppedNamespace;
-               private bool shouldDropNamespace = false;
-               private ApiStyle styleToDrop;
-
-               public bool ReplaceNativeTypes { get; set; }
-
-               /// <param name="ns">The namespace that is being dropped.</param>
-               /// <param name="style">The style that is being dropped.</param>
-               public MDocFileSource(string ns, ApiStyle style) 
-               {
-                       droppedNamespace = ns;
-                       shouldDropNamespace = !string.IsNullOrWhiteSpace (ns);
-                       styleToDrop = style;
-               }
-
-               public XmlReader GetIndexReader(string path) 
-               {
-                       XDocument doc = XDocument.Load (path);
-
-                       DropApiStyle (doc, path);
-                       DropNSFromDocument (doc);
-
-                       // now put the modified contents into a stream for the XmlReader that monodoc will use.
-                       MemoryStream io = new MemoryStream ();
-                       using (var writer = XmlWriter.Create (io)) {
-                               doc.WriteTo (writer);
-                       }
-                       io.Seek (0, SeekOrigin.Begin);
-
-                       return XmlReader.Create (io);
-               }
-
-               public XElement GetNamespaceElement(string path) 
-               {
-                       var element = XElement.Load (path);
-
-                       var attributes = element.Descendants ().Concat(new XElement[] { element }).SelectMany (n => n.Attributes ());
-                       var textNodes = element.Nodes ().OfType<XText> ();
-
-                       DropNS (attributes, textNodes);
-
-                       return element;
-               }
-
-               void DropApiStyle(XDocument doc, string path) 
-               {
-                       string styleString = styleToDrop.ToString ().ToLower ();
-                       var items = doc
-                               .Descendants ()
-                               .Where (n => n.Attributes ()
-                                       .Any (a => a.Name.LocalName == "apistyle" && a.Value == styleString))
-                               .ToArray ();
-
-                       foreach (var element in items) {
-                               element.Remove ();
-                       }
-
-                       if (styleToDrop == ApiStyle.Classic && ReplaceNativeTypes) {
-                               RewriteCrefsIfNecessary (doc, path);
-                       }
-               }
-
-               void RewriteCrefsIfNecessary (XDocument doc, string path)
-               {
-                       // we also have to rewrite crefs
-                       var sees = doc.Descendants ().Where (d => d.Name.LocalName == "see").ToArray ();
-                       foreach (var see in sees) {
-                               var cref = see.Attribute ("cref");
-                               if (cref == null) {
-                                       continue;
-                               }
-                               EcmaUrlParser parser = new EcmaUrlParser ();
-                               EcmaDesc reference;
-                               if (!parser.TryParse (cref.Value, out reference)) {
-                                       continue;
-                               }
-                               if ((new EcmaDesc.Kind[] {
-                                       EcmaDesc.Kind.Constructor,
-                                       EcmaDesc.Kind.Method
-                               }).Any (k => k == reference.DescKind)) {
-                                       string ns = reference.Namespace;
-                                       string type = reference.TypeName;
-                                       string memberName = reference.MemberName;
-                                       if (reference.MemberArguments != null) {
-                                               XDocument refDoc = FindReferenceDoc (path, doc, ns, type);
-                                               if (refDoc == null) {
-                                                       continue;
-                                               }
-                                               // look in the refDoc for the memberName, and match on parameters and # of type parameters
-                                               var overloads = refDoc.XPathSelectElements ("//Member[@MemberName='" + memberName + "']").ToArray ();
-                                               // Do some initial filtering to find members that could potentially match (based on parameter and typeparam counts)
-                                               var members = overloads.Where (e => reference.MemberArgumentsCount == e.XPathSelectElements ("Parameters/Parameter[not(@apistyle) or @apistyle='classic']").Count () && reference.GenericMemberArgumentsCount == e.XPathSelectElements ("TypeParameters/TypeParameter[not(@apistyle) or @apistyle='classic']").Count ()).Select (m => new {
-                                                       Node = m,
-                                                       AllParameters = m.XPathSelectElements ("Parameters/Parameter").ToArray (),
-                                                       Parameters = m.XPathSelectElements ("Parameters/Parameter[not(@apistyle) or @apistyle='classic']").ToArray (),
-                                                       NewParameters = m.XPathSelectElements ("Parameters/Parameter[@apistyle='unified']").ToArray ()
-                                               }).ToArray ();
-                                               // now find the member that matches on types
-                                               var member = members.FirstOrDefault (m => reference.MemberArguments.All (r => m.Parameters.Any (mp => mp.Attribute ("Type").Value.Contains (r.TypeName))));
-                                               if (member == null || member.NewParameters.Length == 0)
-                                                       continue;
-                                               foreach (var arg in reference.MemberArguments) {
-                                                       // find the "classic" parameter
-                                                       var oldParam = member.Parameters.First (p => p.Attribute ("Type").Value.Contains (arg.TypeName));
-                                                       var newParam = member.NewParameters.FirstOrDefault (p => oldParam.Attribute ("Name").Value == p.Attribute ("Name").Value);
-                                                       if (newParam != null) {
-                                                               // this means there was a change made, and we should try to convert this cref
-                                                               arg.TypeName = NativeTypeManager.ConvertToNativeType (arg.TypeName);
-                                                       }
-                                               }
-                                               var rewrittenReference = reference.ToEcmaCref ();
-                                               Console.WriteLine ("From {0} to {1}", cref.Value, rewrittenReference);
-                                               cref.Value = rewrittenReference;
-                                       }
-                               }
-                       }
-               }
-
-               XDocument FindReferenceDoc (string currentPath, XDocument currentDoc, string ns, string type)
-               {
-                       if (currentPath.Length <= 1) {
-                               return null;
-                       }
-                       // build up the supposed path to the doc
-                       string dir = Path.GetDirectoryName (currentPath);
-                       if (dir.Equals (currentPath)) {
-                               return null;
-                       }
-
-                       string supposedPath = Path.Combine (dir, ns, type + ".xml");
-
-                       // if it's the current path, return currentDoc
-                       if (supposedPath == currentPath) {
-                               return currentDoc;
-                       }
-
-                       if (!File.Exists (supposedPath)) {
-                               // hmm, file not there, look one directory up
-                               return FindReferenceDoc (dir, currentDoc, ns, type);
-                       }
-
-                       // otherwise, load the XDoc and return
-                       return XDocument.Load (supposedPath);
-               }
-
-               void DropNSFromDocument (XDocument doc)
-               {
-                       var attributes = doc.Descendants ().SelectMany (n => n.Attributes ());
-                       var textNodes = doc.DescendantNodes().OfType<XText> ().ToArray();
-
-                       DropNS (attributes, textNodes);
-               }
-
-               void DropNS(IEnumerable<XAttribute> attributes, IEnumerable<XText> textNodes) 
-               {
-                       if (!shouldDropNamespace) {
-                               return;
-                       }
-
-                       string nsString = string.Format ("{0}.", droppedNamespace);
-                       foreach (var attr in attributes) {
-                               if (attr.Value.Contains (nsString)) {
-                                       attr.Value = attr.Value.Replace (nsString, string.Empty);
-                               }
-                       }
-
-                       foreach (var textNode in textNodes) {
-                               if (textNode.Value.Contains (nsString)) {
-                                       textNode.Value = textNode.Value.Replace (nsString, string.Empty);
-                               }
-                       }
-               }
-                       
-
-               /// <param name="nsName">This is the type's name in the processed XML content. 
-               /// If dropping the namespace, we'll need to append it so that it's found in the source.</param>
-               /// <param name="typeName">Type name.</param>
-               public string GetTypeXmlPath(string basePath, string nsName, string typeName) 
-               {
-                       string nsNameToUse = nsName;
-                       if (shouldDropNamespace) {
-                               nsNameToUse = string.Format ("{0}.{1}", droppedNamespace, nsName);
-
-                               var droppedPath = BuildTypeXmlPath (basePath, typeName, nsNameToUse);
-                               var origPath = BuildTypeXmlPath (basePath, typeName, nsName);
-
-                               if (!File.Exists (droppedPath)) {
-                                       if (File.Exists (origPath)) {
-                                               return origPath;
-                                       }
-                               }
-
-                               return droppedPath;
-                       } else {
-
-                               var finalPath = BuildTypeXmlPath (basePath, typeName, nsNameToUse);
-
-                               return finalPath;
-                       }
-               }
-
-               static string BuildTypeXmlPath (string basePath, string typeName, string nsNameToUse)
-               {
-                       string finalPath = Path.Combine (basePath, nsNameToUse, Path.ChangeExtension (typeName, ".xml"));
-                       return finalPath;
-               }
-
-               static string BuildNamespaceXmlPath (string basePath, string ns)
-               {
-                       var nsFileName = Path.Combine (basePath, String.Format ("ns-{0}.xml", ns));
-                       return nsFileName;
-               }
-
-               /// <returns>The namespace for path, with the dropped namespace so it can be used to pick the right file if we're dropping it.</returns>
-               /// <param name="ns">This namespace will already have "dropped" the namespace.</param>
-               public string GetNamespaceXmlPath(string basePath, string ns) 
-               {
-                       string nsNameToUse = ns;
-                       if (shouldDropNamespace) {
-                               nsNameToUse = string.Format ("{0}.{1}", droppedNamespace, ns);
-
-                               var droppedPath = BuildNamespaceXmlPath (basePath, nsNameToUse);
-                               var origPath = BuildNamespaceXmlPath (basePath, ns);
-
-                               if (!File.Exists (droppedPath) && File.Exists(origPath)) {
-                                       return origPath;
-                               }
-
-                               return droppedPath;
-                       } else {
-                               var path = BuildNamespaceXmlPath (basePath, ns); 
-                               return path;
-                       }
-               }
-
-               public XDocument GetTypeDocument(string path) 
-               {
-                       var doc = XDocument.Load (path);
-                       DropApiStyle (doc, path);
-                       DropNSFromDocument (doc);
-
-                       return doc;
-               }
-
-               public XElement ExtractNamespaceSummary (string path)
-               {
-                       using (var reader = GetIndexReader (path)) {
-                               reader.ReadToFollowing ("Namespace");
-                               var name = reader.GetAttribute ("Name");
-                               var summary = reader.ReadToFollowing ("summary") ? XElement.Load (reader.ReadSubtree ()) : new XElement ("summary");
-                               var remarks = reader.ReadToFollowing ("remarks") ? XElement.Load (reader.ReadSubtree ()) : new XElement ("remarks");
-
-                               return new XElement ("namespace",
-                                       new XAttribute ("ns", name ?? string.Empty),
-                                       summary,
-                                       remarks);
-                       }
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/dump.cs b/mcs/tools/mdoc/Mono.Documentation/dump.cs
deleted file mode 100644 (file)
index 260f22a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using Monodoc;
-using Mono.Options;
-
-namespace Mono.Documentation {
-
-       class MDocTreeDumper : MDocCommand {
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       var validFormats = RootTree.GetSupportedFormats ();
-                       string cur_format = "";
-                       var formats = new Dictionary<string, List<string>> ();
-                       var options = new OptionSet () {
-                               { "f|format=",
-                                       "The documentation {FORMAT} used in FILES.  " + 
-                                               "Valid formats include:\n  " +
-                                               string.Join ("\n  ", validFormats) + "\n" +
-                                               "If not specified, no HelpSource is used.  This may " +
-                                               "impact the PublicUrls displayed for nodes.",
-                                       v => {
-                                               if (Array.IndexOf (validFormats, v) < 0)
-                                                       Error ("Invalid documentation format: {0}.", v);
-                                               cur_format = v;
-                                       } },
-                               { "<>", v => AddFormat (formats, cur_format, v) },
-                       };
-                       List<string> files = Parse (options, args, "dump-tree", 
-                                       "[OPTIONS]+ FILES",
-                                       "Print out the nodes within the assembled .tree FILES,\n" + 
-                                       "as produced by 'mdoc assemble'.");
-                       if (files == null)
-                               return;
-
-                       foreach (string format in formats.Keys) {
-                               foreach (string file in formats [format]) {
-                                       HelpSource hs = format == ""
-                                               ? null
-                                               : RootTree.GetHelpSource (format, file.Replace (".tree", ""));
-                                       Tree t = new Tree (hs, file);
-                                       TreeDumper.PrintTree (t.RootNode);
-                               }
-                       }
-               }
-
-               private void AddFormat (Dictionary<string, List<string>> d, string format, string file)
-               {
-                       if (format == null)
-                               format = "";
-                       List<string> l;
-                       if (!d.TryGetValue (format, out l)) {
-                               l = new List<string> ();
-                               d.Add (format, l);
-                       }
-                       l.Add (file);
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/ecmadoc.cs b/mcs/tools/mdoc/Mono.Documentation/ecmadoc.cs
deleted file mode 100644 (file)
index 86f8a7c..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-//
-// ecmadoc.cs
-//
-// Author:
-//   Jonathan Pryor  <jpryor@novell.com>
-//
-// Copyright (c) 2010 Novell, Inc. (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Xml;
-using System.Xml.Linq;
-
-using Monodoc;
-using Mono.Documentation;
-
-using Mono.Options;
-using Mono.Rocks;
-
-namespace Mono.Documentation
-{
-       public class MDocUpdateEcmaXml : MDocCommand
-       {
-               string file = "CLILibraryTypes.xml";
-               List<string> directories;
-               Dictionary<string, HashSet<string>> libraries = new Dictionary<string, HashSet<string>>();
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       string current_library = "";
-
-                       var options = new OptionSet () {
-                               { "o|out=", 
-                                       "{FILE} to generate/update documentation within.\n" + 
-                                       "If not specified, will process " + file + ".\n" +
-                                       "Set to '-' to skip updates and write to standard output.",
-                                       v => file = v },
-                               { "library=",
-                                       "The {LIBRARY} that the following --type=TYPE types should be a part of.",
-                                       v => current_library = v },
-                               { "type=",
-                                       "The full {TYPE} name of a type to copy into the output file.",
-                                       v => AddTypeToLibrary (current_library, v) },
-                       };
-                       directories = Parse (options, args, "export-ecma-xml", 
-                                       "[OPTIONS]+ DIRECTORIES",
-                                       "Export mdoc documentation within DIRECTORIES into ECMA-format XML.\n\n" +
-                                       "DIRECTORIES are mdoc(5) directories as produced by 'mdoc update'.");
-                       if (directories == null || directories.Count == 0)
-                               return;
-
-                       Update ();
-               }
-
-               void AddTypeToLibrary (string library, string type)
-               {
-                       HashSet<string> types;
-                       if (!libraries.TryGetValue (library, out types))
-                               libraries.Add (library, types = new HashSet<string> ());
-                       types.Add (type.Replace ('/', '.').Replace ('+', '.'));
-               }
-
-               void Update ()
-               {
-                       Action<string> creator = file => {
-                               XDocument docs = LoadFile (this.file);
-
-                               var seenLibraries = new HashSet<string> ();
-
-                               UpdateExistingLibraries (docs, seenLibraries);
-                               GenerateMissingLibraries (docs, seenLibraries);
-
-                               SortLibraries (docs.Root);
-                               SortTypes (docs.Root);
-
-                               using (var output = CreateWriter (file)) {
-                                       foreach (var node in docs.Nodes ()) {
-                                               if (node.NodeType == XmlNodeType.Element || node.NodeType == XmlNodeType.Text)
-                                                       continue;
-                                               node.WriteTo (output);
-                                       }
-                                       docs.Root.WriteTo (output);
-                                       output.WriteWhitespace ("\r\n");
-                               }
-                       };
-                       MdocFile.UpdateFile (this.file, creator);
-               }
-
-               static XDocument LoadFile (string file)
-               {
-                       if (file == "-" || !File.Exists (file))
-                               return CreateDefaultDocument ();
-
-                       var settings = new XmlReaderSettings {
-                               DtdProcessing = DtdProcessing.Parse
-                       };
-                       using (var reader = XmlReader.Create (file, settings))
-                               return XDocument.Load (reader);
-               }
-
-               static XDocument CreateDefaultDocument ()
-               {
-                       return new XDocument (
-                                       new XComment (" ====================================================================== "),
-                                       new XComment (" This XML is a description of the Common Language Infrastructure (CLI) library. "),
-                                       new XComment (" This file is a normative part of Partition IV of the following standards: ISO/IEC 23271 and ECMA 335 "),
-                                       new XComment (" ====================================================================== "),
-                                       new XDocumentType ("Libraries", null, "CLILibraryTypes.dtd", null),
-                                       new XElement ("Libraries"));
-               }
-
-               static XmlWriter CreateWriter (string file)
-               {
-                       var settings = new XmlWriterSettings {
-                               Indent              = true,
-                               IndentChars         = "\t",
-                               NewLineChars        = "\r\n",
-                               OmitXmlDeclaration  = true,
-                       };
-
-                       if (file == "-")
-                               return XmlWriter.Create (Console.Out, settings);
-
-                       settings.Encoding = new UTF8Encoding (false);
-                       return XmlWriter.Create (file, settings);
-               }
-
-               void UpdateExistingLibraries (XDocument docs, HashSet<string> seenLibraries)
-               {
-                       foreach (XElement types in docs.Root.Elements ("Types")) {
-                               XAttribute library = types.Attribute ("Library");
-                               HashSet<string> libraryTypes;
-                               if (library == null || !libraries.TryGetValue (library.Value, out libraryTypes)) {
-                                       continue;
-                               }
-                               seenLibraries.Add (library.Value);
-                               var seenTypes = new HashSet<string> ();
-                               foreach (XElement type in types.Elements ("Type").ToList ()) {
-                                       XAttribute fullName = type.Attribute ("FullName");
-                                       string typeName = fullName == null
-                                               ? null
-                                               : XmlDocUtils.ToEscapedTypeName (fullName.Value);
-                                       if (typeName == null || !libraryTypes.Contains (typeName)) {
-                                               continue;
-                                       }
-                                       type.Remove ();
-                                       seenTypes.Add (typeName);
-                                       types.Add (LoadType (typeName, library.Value));
-                               }
-                               foreach (string typeName in libraryTypes.Except (seenTypes))
-                                       types.Add (LoadType (typeName, library.Value));
-                       }
-               }
-
-               void GenerateMissingLibraries (XDocument docs, HashSet<string> seenLibraries)
-               {
-                       foreach (KeyValuePair<string, HashSet<string>> lib in libraries) {
-                               if (seenLibraries.Contains (lib.Key))
-                                       continue;
-                               seenLibraries.Add (lib.Key);
-                               docs.Root.Add (new XElement ("Types", new XAttribute ("Library", lib.Key),
-                                                       lib.Value.Select (type => LoadType (type, lib.Key))));
-                       }
-               }
-
-               XElement LoadType (string type, string library)
-               {
-                       foreach (KeyValuePair<string, string> permutation in GetTypeDirectoryFilePermutations (type)) {
-                               foreach (string root in directories) {
-                                       string path = Path.Combine (root, Path.Combine (permutation.Key, permutation.Value + ".xml"));
-                                       if (File.Exists (path))
-                                               return FixupType (path, library);
-                               }
-                       }
-                       throw new FileNotFoundException ("Unable to find documentation file for type: " + type + ".");
-               }
-
-               // type has been "normalized", which (alas) means we have ~no clue which
-               // part is the namespace and which is the type name, particularly
-               // problematic as types may be nested to any level.
-               // Try ~all permutations. :-)
-               static IEnumerable<KeyValuePair<string, string>> GetTypeDirectoryFilePermutations (string type)
-               {
-                       int end = type.Length;
-                       int dot;
-                       while ((dot = type.LastIndexOf ('.', end-1)) >= 0) {
-                               yield return new KeyValuePair<string, string> (
-                                               type.Substring (0, dot), 
-                                               type.Substring (dot+1).Replace ('.', '+'));
-                               end = dot;
-                       }
-                       yield return new KeyValuePair<string, string> ("", type.Replace ('.', '+'));
-               }
-
-               static XElement FixupType (string path, string library)
-               {
-                       var type = XElement.Load (path);
-
-                       XAttribute fullName   = type.Attribute ("FullName");
-                       XAttribute fullNameSp = type.Attribute ("FullNameSP");
-                       if (fullNameSp == null && fullName != null) {
-                               type.Add (new XAttribute ("FullNameSP", fullName.Value.Replace ('.', '_')));
-                       }
-                       if (type.Element ("TypeExcluded") == null)
-                               type.Add (new XElement ("TypeExcluded", "0"));
-                       if (type.Element ("MemberOfLibrary") == null) {
-                               XElement member = new XElement ("MemberOfLibrary", library);
-                               XElement assemblyInfo = type.Element ("AssemblyInfo");
-                               if (assemblyInfo != null)
-                                       assemblyInfo.AddBeforeSelf (member);
-                               else
-                                       type.Add (member);
-                       }
-
-                       XElement ai = type.Element ("AssemblyInfo");
-
-                       XElement assembly = 
-                               XElement.Load (
-                                               Path.Combine (
-                                                       Path.Combine (Path.GetDirectoryName (path), ".."), 
-                                                       "index.xml"))
-                               .Element ("Assemblies")
-                               .Elements ("Assembly")
-                               .FirstOrDefault (a => a.Attribute ("Name").Value == ai.Element ("AssemblyName").Value &&
-                                               a.Attribute ("Version").Value == ai.Element ("AssemblyVersion").Value);
-                       if (assembly == null)
-                               return type;
-
-                       if (assembly.Element ("AssemblyPublicKey") != null)
-                               ai.Add (assembly.Element ("AssemblyPublicKey"));
-
-                       if (assembly.Element ("AssemblyCulture") != null)
-                               ai.Add (assembly.Element ("AssemblyCulture"));
-                       else
-                               ai.Add (new XElement ("AssemblyCulture", "neutral"));
-
-                       // TODO: assembly attributes?
-                       // The problem is that .NET mscorlib.dll v4.0 has ~26 attributes, and
-                       // importing these for every time seems like some serious bloat...
-                       var clsDefAttr = assembly.Elements ("Attributes").Elements ("Attribute")
-                               .FirstOrDefault (a => a.Element ("AttributeName").Value.StartsWith ("System.CLSCompliant"));
-                       if (clsDefAttr != null &&
-                                       ai.Elements ("Attributes").Elements ("Attribute")
-                                       .FirstOrDefault (a => a.Element ("AttributeName").Value.StartsWith ("System.CLSCompliant")) == null) {
-                               var dest = ai.Element ("Attributes");
-                               if (dest == null)
-                                       ai.Add (dest = new XElement ("Attributes"));
-                               dest.Add (clsDefAttr);
-                       }
-
-                       return type;
-               }
-
-               static void SortLibraries (XContainer libraries)
-               {
-                       SortElements (libraries, (x, y) => x.Attribute ("Library").Value.CompareTo (y.Attribute ("Library").Value));
-               }
-
-               static void SortElements (XContainer container, Comparison<XElement> comparison)
-               {
-                       var items = new List<XElement> ();
-                       foreach (var e in container.Elements ())
-                               items.Add (e);
-                       items.Sort (comparison);
-                       for (int i = items.Count - 1; i > 0; --i) {
-                               items [i-1].Remove ();
-                               items [i].AddBeforeSelf (items [i-1]);
-                       }
-               }
-
-               static void SortTypes (XContainer libraries)
-               {
-                       foreach (var types in libraries.Elements ("Types")) {
-                               SortElements (types, (x, y) => {
-                                               string xName, yName;
-                                               int xCount, yCount;
-
-                                               GetTypeSortName (x, out xName, out xCount);
-                                               GetTypeSortName (y, out yName, out yCount);
-
-                                               int c = xName.CompareTo (yName);
-                                               if (c != 0)
-                                                       return c;
-                                               if (xCount < yCount)
-                                                       return -1;
-                                               if (yCount < xCount)
-                                                       return 1;
-                                               return 0;
-                               });
-                       }
-               }
-
-               static void GetTypeSortName (XElement element, out string name, out int typeParamCount)
-               {
-                       typeParamCount = 0;
-                       name = element.Attribute ("Name").Value;
-
-                       int lt = name.IndexOf ('<');
-                       if (lt >= 0) {
-                               int gt = name.IndexOf ('>', lt);
-                               if (gt >= 0) {
-                                       typeParamCount = name.Substring (lt, gt-lt).Count (c => c == ',') + 1;
-                               }
-                               name = name.Substring (0, lt);
-                       }
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/exceptions.cs b/mcs/tools/mdoc/Mono.Documentation/exceptions.cs
deleted file mode 100644 (file)
index 23b6762..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-//
-// Mono.Documentation/exceptions.cs
-//
-// Authors:
-//   Jonathan Pryor (jonpryor@vt.edu)
-//
-// (C) 2008 Novell, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Linq;
-
-using Mono.Cecil;
-using Mono.Cecil.Cil;
-
-namespace Mono.Documentation {
-
-       [Flags]
-       public enum ExceptionLocations {
-               Member              = 0x0,
-               Assembly            = 0x1,
-               DependentAssemblies = 0x2,
-               AddedMembers        = 0x4,
-       }
-        
-       public class ExceptionSources {
-               internal ExceptionSources (TypeReference exception)
-               {
-                       Exception = exception;
-                       Sources   = new HashSet<MemberReference> ();
-               }
-
-               public TypeReference Exception { get; private set; }
-               internal  HashSet<MemberReference>  Sources;
-       }
-
-
-       public class ExceptionLookup {
-
-               SlashDocMemberFormatter xdoc = new SlashDocMemberFormatter ();
-
-               // xdoc(MemberRef) -> xdoc(TypeRef) -> ExceptionSource
-               //   where ExceptionSource.Exception == xdoc(TypeRef)
-               Dictionary<string, Dictionary<string, ExceptionSources>> db = new Dictionary<string, Dictionary<string, ExceptionSources>> ();
-
-               ExceptionLocations locations;
-
-               public ExceptionLookup (ExceptionLocations locations)
-               {
-                       this.locations = locations;
-               }
-
-               public IEnumerable<ExceptionSources> this [MemberReference member] {
-                       get {
-                               if (member == null)
-                                       throw new ArgumentNullException ("member");
-
-                               var memberDef = member.Resolve ();
-                               if (memberDef == null) {
-                                       ArrayType array = member.DeclaringType as ArrayType;
-                                       if (array != null && array.Rank > 1) {
-                                               // Multi-dimensional array; the member is runtime generated, 
-                                               // doesn't "really" exist (in a form that we can resolve),
-                                               // so we can't do anything further.
-                                               return new ExceptionSources[0];
-                                       }
-                                       throw new NotSupportedException (string.Format (
-                                                               "Unable to resolve member {0}::{1}.",
-                                                               member.DeclaringType.FullName, member.Name));
-                               }
-                               string memberDecl = xdoc.GetDeclaration (member);
-                               Dictionary<string, ExceptionSources> e;
-                               if (!db.TryGetValue (memberDecl, out e)) {
-                                       e = new Dictionary<string, ExceptionSources> ();
-                                       db.Add (memberDecl, e);
-                                       var bodies = GetMethodBodies (member);
-                                       foreach (var body in bodies) {
-                                               if (body == null)
-                                                       continue;
-                                               FillExceptions (body, e);
-                                       }
-                               }
-                               return e.Values;
-                       }
-               }
-
-               MethodBody[] GetMethodBodies (MemberReference member)
-               {
-                       if (member is MethodReference) {
-                               return new[]{ (((MethodReference) member).Resolve ()).Body };
-                       }
-                       if (member is PropertyReference) {
-                               PropertyDefinition prop = (PropertyDefinition) member;
-                               return new[]{
-                                       prop.GetMethod != null ? prop.GetMethod.Body : null,
-                                       prop.SetMethod != null ? prop.SetMethod.Body : null,
-                               };
-                       }
-                       if (member is FieldReference)
-                               return new MethodBody[]{};
-                       if (member is EventReference) {
-                               EventDefinition ev = (EventDefinition) member;
-                               return new[]{
-                                       ev.AddMethod != null ? ev.AddMethod.Body : null,
-                                       ev.InvokeMethod != null ? ev.InvokeMethod.Body : null, 
-                                       ev.RemoveMethod != null ? ev.RemoveMethod.Body : null,
-                               };
-                       }
-                       throw new NotSupportedException ("Unsupported member type: " + member.GetType().FullName);
-               }
-
-               void FillExceptions (MethodBody body, Dictionary<string, ExceptionSources> exceptions)
-               {
-                       for (int i = 0; i < body.Instructions.Count; ++i) {
-                               Instruction instruction = body.Instructions [i];
-                               switch (instruction.OpCode.Code) {
-                                       case Code.Call:
-                                       case Code.Callvirt: {
-                                               if ((locations & ExceptionLocations.Assembly) == 0 && 
-                                                               (locations & ExceptionLocations.DependentAssemblies) == 0)
-                                                       break;
-                                               MemberReference memberRef = ((MemberReference) instruction.Operand);
-                                               if (((locations & ExceptionLocations.Assembly) != 0 && 
-                                                                       body.Method.DeclaringType.Scope.Name == memberRef.DeclaringType.Scope.Name) ||
-                                                               ((locations & ExceptionLocations.DependentAssemblies) != 0 && 
-                                                                       body.Method.DeclaringType.Scope.Name != memberRef.DeclaringType.Scope.Name)) {
-
-                                                       IEnumerable<ExceptionSources> memberExceptions = this [memberRef];
-                                                       AddExceptions (body, instruction, 
-                                                                       memberExceptions.Select (es => es.Exception),
-                                                                       memberExceptions.SelectMany (es => es.Sources),
-                                                                       exceptions);
-                                               }
-                                               break;
-                                       }
-                                       case Code.Newobj: {
-                                               MethodReference ctor = (MethodReference) instruction.Operand;
-                                               if (IsExceptionConstructor (ctor)) {
-                                                       AddExceptions (body, instruction,
-                                                                       new TypeReference[]{ctor.DeclaringType},
-                                                                       new MemberReference[]{body.Method},
-                                                                       exceptions);
-                                               }
-                                               break;
-                                       }
-                               }
-                       }
-               }
-
-               void AddExceptions (MethodBody body, Instruction instruction, IEnumerable<TypeReference> add, IEnumerable<MemberReference> sources,
-                               Dictionary<string, ExceptionSources> exceptions)
-               {
-                       var handlers = body.ExceptionHandlers.Cast<ExceptionHandler> ()
-                               .Where (eh => instruction.Offset >= eh.TryStart.Offset && 
-                                               instruction.Offset <= eh.TryEnd.Offset);
-                       foreach (var ex in add) {
-                               if (!handlers.Any (h => IsExceptionCaught (ex, h.CatchType))) {
-                                       ExceptionSources s;
-                                       string eName = xdoc.GetDeclaration (ex);
-                                       if (!exceptions.TryGetValue (eName, out s)) {
-                                               s = new ExceptionSources (ex);
-                                               exceptions.Add (eName, s);
-                                       }
-                                       foreach (var m in sources)
-                                               s.Sources.Add (m);
-                               }
-                       }
-               }
-
-               static bool IsExceptionConstructor (MethodReference ctor)
-               {
-                       return GetBases (ctor.DeclaringType)
-                               .Any (t => t.FullName == "System.Exception");
-               }
-
-               bool IsExceptionCaught (TypeReference exception, TypeReference catcher)
-               {
-                       return GetBases (exception).Select (e => xdoc.GetDeclaration (e))
-                               .Union (GetBases (catcher).Select (e => xdoc.GetDeclaration (e)))
-                               .Any ();
-               }
-
-               static IEnumerable<TypeReference> GetBases (TypeReference type)
-               {
-                       yield return type;
-                       TypeDefinition def = type.Resolve ();
-                       while (def != null && def.BaseType != null) {
-                               yield return def.BaseType;
-                               def = def.BaseType.Resolve ();
-                       }
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/index.cs b/mcs/tools/mdoc/Mono.Documentation/index.cs
deleted file mode 100644 (file)
index 0b85085..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// index.cs
-// Index maker (both normal and Lucene-based)
-//
-// Authors:
-//    Jérémie Laval <jeremie dot laval at xamarin dot com>
-//
-// Copyright 2011 Xamarin Inc (http://www.xamarin.com).
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-//
-using System;
-using System.Collections.Generic;
-
-using Mono.Options;
-using Monodoc;
-
-namespace Mono.Documentation {
-
-       class MDocIndex : MDocCommand {
-               public override void Run (IEnumerable<string> args)
-               {
-                       string rootPath = null;
-
-                       var options = new OptionSet () {
-                               { "r=|root=", "Specify which documentation root to use. Default is $libdir/monodoc", v => rootPath = v },
-                       };
-
-                       var extra = Parse (options, args, "index", 
-                                          "[OPTIONS]+ ACTION",
-                                          "Create Monodoc indexes depending on ACTION. Possible values are \"tree\" or \"search\" for, respectively, mdoc tree and lucene search");
-                       if (extra == null)
-                               return;
-
-                       var root = string.IsNullOrEmpty (rootPath) ? RootTree.LoadTree () : RootTree.LoadTree (rootPath);
-
-                       foreach (var action in extra) {
-                               switch (action) {
-                               case "tree":
-                                       root.GenerateIndex ();
-                                       break;
-                               case "search":
-                                       root.GenerateSearchIndex ();
-                                       break;
-                               }
-                       }
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/mdoc.cs b/mcs/tools/mdoc/Mono.Documentation/mdoc.cs
deleted file mode 100644 (file)
index 207d6cb..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-// Part of the mdoc(7) suite of tools.
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Text;
-using Mono.Options;
-
-namespace Mono.Documentation {
-
-       class MDoc {
-
-               private static bool debug;
-
-               private static void Main (string[] args)
-               {
-                       MDoc d = new MDoc ();
-                       try {
-                               d.Run (args);
-                       }
-                       catch (Exception e) {
-                               if (debug) {
-                                       Console.Error.WriteLine ("mdoc: {0}", e.ToString ());
-                               }
-                               else {
-                                       Console.Error.WriteLine ("mdoc: {0}", e.Message);
-                               }
-                               Console.Error.WriteLine ("See `mdoc help' for more information or use --debug to diagnose.");
-                               Environment.ExitCode = 1;
-                       }
-               }
-
-               int verbosity = 2;
-
-               internal Dictionary<string, MDocCommand> subcommands;
-
-               private void Run (string[] args)
-               {
-                       subcommands = new Dictionary<string, MDocCommand> () {
-                               { "assemble",         new MDocAssembler () },
-                               { "dump-tree",        new MDocTreeDumper () },
-                               { "export-html",      new MDocToHtmlConverter () },
-                               { "export-html-webdoc",   new MDocExportWebdocHtml () },
-                               { "export-msxdoc",    new MDocToMSXDocConverter () },
-                               { "help",             new MDocHelpCommand (this) },
-                               { "update",           new MDocUpdater () },
-                               { "update-ecma-xml",  new MDocUpdateEcmaXml () },
-                               { "validate",         new MDocValidator () },
-                               { "index",            new MDocIndex () },
-                               { "preserve",         new MDocPreserve () }
-                       };
-
-                       bool showVersion = false;
-                       bool showHelp    = false;
-                       var p = new OptionSet () {
-                               { "version",  v => showVersion = v != null },
-                               { "v:",       (int? v) => verbosity = v.HasValue ? v.Value : verbosity+1 },
-                               { "debug",    v => debug = v != null },
-                               { "h|?|help", v => showHelp = v != null },
-                               new ResponseFileSource (),
-                       };
-
-                       var extra = p.Parse (args);
-
-                       if (showVersion) {
-                               Console.WriteLine ("mdoc {0}", Consts.MonoVersion);
-                               return;
-                       }
-                       if (extra.Count == 0) {
-                               Console.WriteLine ("Use `mdoc help' for usage.");
-                               return;
-                       }
-                       if (showHelp) {
-                               extra.Add ("--help");
-                       }
-                       switch (extra [0]) {
-                               case "x-msitomsx":
-                                       new MsidocToMsxdocConverter ().Run (extra);
-                                       break;
-                               default: 
-                                       GetCommand (extra [0]).Run (extra);
-                                       break;
-                       }
-               }
-
-               internal MDocCommand GetCommand (string command)
-               {
-                       MDocCommand h;
-                       if (!subcommands.TryGetValue (command, out h)) {
-                               Error ("Unknown command: {0}.", command);
-                       }
-                       h.TraceLevel  = (TraceLevel) verbosity;
-                       h.DebugOutput = debug;
-                       return h;
-               }
-
-               private static void Error (string format, params object[] args)
-               {
-                       throw new Exception (string.Format (format, args));
-               }
-       }
-
-       public abstract class MDocCommand {
-
-               public TraceLevel TraceLevel { get; set; }
-               public bool DebugOutput { get; set; }
-
-               public abstract void Run (IEnumerable<string> args);
-
-               protected List<string> Parse (OptionSet p, IEnumerable<string> args, 
-                               string command, string prototype, string description)
-               {
-                       bool showHelp = false;
-                       p.Add ("h|?|help", 
-                                       "Show this message and exit.", 
-                                       v => showHelp = v != null );
-
-                       List<string> extra = null;
-                       if (args != null) {
-                               extra = p.Parse (args.Skip (1));
-                       }
-                       if (args == null || showHelp) {
-                               Console.WriteLine ("usage: mdoc {0} {1}", 
-                                               args == null ? command : args.First(), prototype);
-                               Console.WriteLine ();
-                               Console.WriteLine (description);
-                               Console.WriteLine ();
-                               Console.WriteLine ("Available Options:");
-                               p.WriteOptionDescriptions (Console.Out);
-                               return null;
-                       }
-                       return extra;
-               }
-
-               public void Error (string format, params object[] args)
-               {
-                       throw new Exception (string.Format (format, args));
-               }
-
-               public void Message (TraceLevel level, string format, params object[] args)
-               {
-                       if ((int) level > (int) TraceLevel)
-                               return;
-                       if (level == TraceLevel.Error)
-                               Console.Error.WriteLine (format, args);
-                       else
-                               Console.WriteLine (format, args);
-               }
-       }
-
-       class MDocHelpCommand : MDocCommand {
-
-               MDoc instance;
-
-               public MDocHelpCommand (MDoc instance)
-               {
-                       this.instance = instance;
-               }
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       if (args != null && args.Count() > 1) {
-                               foreach (var arg in args.Skip (1)) {
-                                       instance.GetCommand (arg).Run (new string[]{arg, "--help"});
-                               }
-                               return;
-                       }
-                       Message (TraceLevel.Warning, 
-                               "usage: mdoc COMMAND [OPTIONS]\n" +
-                               "Use `mdoc help COMMAND' for help on a specific command.\n" +
-                               "\n" + 
-                               "Available commands:\n\n   " +
-                               string.Join ("\n   ", instance.subcommands.Keys.OrderBy (v => v).ToArray()) +
-                               "\n\n" + 
-                               "mdoc is a tool for documentation management.\n" +
-                               "For additional information, see http://www.mono-project.com/"
-                       );
-               }
-       }
-}
-
diff --git a/mcs/tools/mdoc/Mono.Documentation/monodocer.cs b/mcs/tools/mdoc/Mono.Documentation/monodocer.cs
deleted file mode 100644 (file)
index 8b5b5ab..0000000
+++ /dev/null
@@ -1,6050 +0,0 @@
-// Updater program for syncing Mono's ECMA-style documentation files
-// with an assembly.
-// By Joshua Tauberer <tauberer@for.net>
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Diagnostics;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Xml;
-using System.Xml.XPath;
-
-using Mono.Cecil;
-using Mono.Options;
-
-using MyXmlNodeList        = System.Collections.Generic.List<System.Xml.XmlNode>;
-using StringList           = System.Collections.Generic.List<string>;
-using StringToStringMap    = System.Collections.Generic.Dictionary<string, string>;
-using StringToXmlNodeMap   = System.Collections.Generic.Dictionary<string, System.Xml.XmlNode>;
-
-namespace Mono.Documentation {
-       static class NativeTypeManager {
-
-               static Dictionary<string, string> toNativeType = new Dictionary<string,string>(){
-
-                       {"int", "nint"},
-                       {"Int32", "nint"},
-                       {"System.Int32", "System.nint"},
-                       {"uint", "nuint"},
-                       {"UInt32", "nuint"},
-                       {"System.UInt32", "System.nuint"},
-                       {"float", "nfloat"},
-                       {"Single", "nfloat"},
-                       {"System.Single", "System.nfloat"},
-                       {"SizeF", "CoreGraphics.CGSize"},
-                       {"System.Drawing.SizeF", "CoreGraphics.CGSize"},
-                       {"PointF", "CoreGraphics.CGPoint"},
-                       {"System.Drawing.PointF", "CoreGraphics.CGPoint"},
-                       {"RectangleF", "CoreGraphics.CGRect" },
-                       {"System.Drawing.RectangleF", "CoreGraphics.CGRect"}
-               };              
-
-               static Dictionary<string, string> fromNativeType = new Dictionary<string,string>(){
-
-                       {"nint", "int"},
-                       {"System.nint", "System.Int32"},
-                       {"nuint", "uint"},
-                       {"System.nuint", "System.UInt32"},
-                       {"nfloat", "float"},
-                       {"System.nfloat", "System.Single"},
-                       {"CoreGraphics.CGSize", "System.Drawing.SizeF"},
-                       {"CoreGraphics.CGPoint", "System.Drawing.PointF"},
-                       {"CoreGraphics.CGRect", "System.Drawing.RectangleF"},
-                       {"MonoTouch.CoreGraphics.CGSize", "System.Drawing.SizeF"},
-                       {"MonoTouch.CoreGraphics.CGPoint", "System.Drawing.PointF"},
-                       {"MonoTouch.CoreGraphics.CGRect", "System.Drawing.RectangleF"}
-               };
-
-               public static string ConvertToNativeType(string typename) {
-                       string nvalue;
-
-                       bool isOut=false;
-                       bool isArray=false;
-                       string valueToCompare = StripToComparableType (typename, ref isOut, ref isArray);
-
-                       if (toNativeType.TryGetValue (valueToCompare, out nvalue)) {
-
-                               if (isArray) {
-                                       nvalue += "[]";
-                               }
-                               if (isOut) {
-                                       nvalue += "&";
-                               }
-                               return nvalue;
-                       }
-                       return typename;
-               }
-               public static string ConvertFromNativeType(string typename) {
-                       string nvalue;
-
-                       bool isOut=false;
-                       bool isArray=false;
-                       string valueToCompare = StripToComparableType (typename, ref isOut, ref isArray);
-
-                       if (fromNativeType.TryGetValue (valueToCompare, out nvalue)) {
-                               if (isArray) {
-                                       nvalue += "[]";
-                               }
-                               if (isOut) {
-                                       nvalue += "&";
-                               }
-                               return nvalue;
-                       }
-                       // it wasn't one of the native types ... just return it
-                       return typename;
-               }
-
-               static string StripToComparableType (string typename, ref bool isOut, ref bool isArray)
-               {
-                       string valueToCompare = typename;
-                       if (typename.EndsWith ("[]")) {
-                               valueToCompare = typename.Substring (0, typename.Length - 2);
-                               isArray = true;
-                       }
-                       if (typename.EndsWith ("&")) {
-                               valueToCompare = typename.Substring (0, typename.Length - 1);
-                               isOut = true;
-                       }
-                       if (typename.Contains ("<")) {
-                               // TODO: Need to recursively process generic parameters
-                       }
-                       return valueToCompare;
-               }
-
-               public static string GetTranslatedName(TypeReference t) {
-                       string typename = t.FullName;
-
-                       bool isInAssembly = MDocUpdater.IsInAssemblies (t.Module.Name);
-                       if (isInAssembly && !typename.StartsWith ("System") && MDocUpdater.HasDroppedNamespace (t)) {
-                               string nameWithDropped = string.Format ("{0}.{1}", MDocUpdater.droppedNamespace, typename);
-                               return nameWithDropped;
-                       }
-                       return typename;
-               }
-       }
-class MDocUpdater : MDocCommand
-{
-       string srcPath;
-       List<AssemblyDefinition> assemblies;
-       readonly DefaultAssemblyResolver assemblyResolver = new DefaultAssemblyResolver();
-       
-       string apistyle = string.Empty;
-       bool isClassicRun;
-       
-       bool delete;
-       bool show_exceptions;
-       bool no_assembly_versions, ignore_missing_types;
-       ExceptionLocations? exceptions;
-       
-       internal int additions = 0, deletions = 0;
-
-       List<DocumentationImporter> importers = new List<DocumentationImporter> ();
-
-       DocumentationEnumerator docEnum;
-
-       string since;
-
-       static readonly MemberFormatter docTypeFormatter     = new DocTypeMemberFormatter ();
-       static readonly MemberFormatter filenameFormatter    = new FileNameMemberFormatter ();
-
-       static MemberFormatter[] typeFormatters = new MemberFormatter[]{
-               new CSharpMemberFormatter (),
-               new ILMemberFormatter (),
-       };
-
-       static MemberFormatter[] memberFormatters = new MemberFormatter[]{
-               new CSharpFullMemberFormatter (),
-               new ILFullMemberFormatter (),
-       };
-
-       internal static readonly MemberFormatter slashdocFormatter    = new SlashDocMemberFormatter ();
-
-       MyXmlNodeList extensionMethods = new MyXmlNodeList ();
-
-       HashSet<string> forwardedTypes = new HashSet<string> ();
-
-       public static string droppedNamespace = string.Empty;
-
-       public static bool HasDroppedNamespace(TypeDefinition forType) 
-       {
-               return HasDroppedNamespace(forType.Module);
-       }
-
-       public static bool HasDroppedNamespace(MemberReference forMember) 
-       {
-               return HasDroppedNamespace(forMember.Module);
-       }
-
-       public static bool HasDroppedNamespace(AssemblyDefinition forAssembly) 
-       {
-               return HasDroppedNamespace(forAssembly.MainModule);
-       }
-
-       public static bool HasDroppedNamespace(ModuleDefinition forModule) 
-       {
-               return !string.IsNullOrWhiteSpace (droppedNamespace) && droppedAssemblies.Any(da => da == forModule.Name);
-       }
-
-       public static bool HasDroppedAnyNamespace ()
-       {
-               return !string.IsNullOrWhiteSpace (droppedNamespace);
-       }
-       
-       /// <summary>Logic flag to signify that we should list assemblies at the method level, since there are multiple
-       /// assemblies for a given type/method.</summary>
-       public bool IsMultiAssembly {
-               get { 
-                       return apistyle == "classic" || apistyle == "unified";
-               }
-       }
-       
-       static List<string> droppedAssemblies = new List<string>();
-
-       public string PreserveTag { get; set; }
-       public static MDocUpdater Instance { get; private set; }
-       public static bool SwitchingToMagicTypes { get; private set; }
-
-       public override void Run (IEnumerable<string> args)
-       {
-               Instance = this;
-               show_exceptions = DebugOutput;
-               var types = new List<string> ();
-               var p = new OptionSet () {
-                       { "delete",
-                               "Delete removed members from the XML files.",
-                               v => delete = v != null },
-                       { "exceptions:",
-                         "Document potential exceptions that members can generate.  {SOURCES} " +
-                               "is a comma-separated list of:\n" +
-                               "  asm      Method calls in same assembly\n" +
-                               "  depasm   Method calls in dependent assemblies\n" +
-                               "  all      Record all possible exceptions\n" +
-                               "  added    Modifier; only create <exception/>s\n" +
-                               "             for NEW types/members\n" +
-                               "If nothing is specified, then only exceptions from the member will " +
-                               "be listed.",
-                               v => exceptions = ParseExceptionLocations (v) },
-                       { "f=",
-                               "Specify a {FLAG} to alter behavior.  See later -f* options for available flags.",
-                               v => {
-                                       switch (v) {
-                                               case "ignore-missing-types":
-                                                       ignore_missing_types = true;
-                                                       break;
-                                               case "no-assembly-versions":
-                                                       no_assembly_versions = true;
-                                                       break;
-                                               default:
-                                                       throw new Exception ("Unsupported flag `" + v + "'.");
-                                       }
-                               } },
-                       { "fignore-missing-types",
-                               "Do not report an error if a --type=TYPE type\nwas not found.",
-                               v => ignore_missing_types = v != null },
-                       { "fno-assembly-versions",
-                               "Do not generate //AssemblyVersion elements.",
-                               v => no_assembly_versions = v != null },
-                       { "i|import=", 
-                               "Import documentation from {FILE}.",
-                               v => AddImporter (v) },
-                       { "L|lib=",
-                               "Check for assembly references in {DIRECTORY}.",
-                               v => assemblyResolver.AddSearchDirectory (v) },
-                       { "library=",
-                               "Ignored for compatibility with update-ecma-xml.",
-                               v => {} },
-                       { "o|out=",
-                               "Root {DIRECTORY} to generate/update documentation.",
-                               v => srcPath = v },
-                       { "r=",
-                               "Search for dependent assemblies in the directory containing {ASSEMBLY}.\n" +
-                               "(Equivalent to '-L `dirname ASSEMBLY`'.)",
-                               v => assemblyResolver.AddSearchDirectory (Path.GetDirectoryName (v)) },
-                       { "since=",
-                               "Manually specify the assembly {VERSION} that new members were added in.",
-                               v => since = v },
-                       { "type=",
-                         "Only update documentation for {TYPE}.",
-                               v => types.Add (v) },
-                       { "dropns=",
-                         "When processing assembly {ASSEMBLY}, strip off leading namespace {PREFIX}:\n" +
-                         "  e.g. --dropns ASSEMBLY=PREFIX",
-                         v => {
-                           var parts = v.Split ('=');
-                           if (parts.Length != 2) { Console.Error.WriteLine ("Invalid dropns input"); return; }
-                           var assembly = Path.GetFileName (parts [0].Trim ());
-                           var prefix = parts [1].Trim();
-                           droppedAssemblies.Add (assembly);
-                           droppedNamespace = prefix;
-                       } },
-                       { "ntypes",
-                               "If the new assembly is switching to 'magic types', then this switch should be defined.",
-                               v => SwitchingToMagicTypes = true },
-                       { "preserve",
-                               "Do not delete members that don't exist in the assembly, but rather mark them as preserved.",
-                               v => PreserveTag = "true" },
-                       { "api-style=",
-                               "Denotes the apistyle. Currently, only `classic` and `unified` are supported. `classic` set of assemblies should be run first, immediately followed by 'unified' assemblies with the `dropns` parameter.",
-                               v => { apistyle = v.ToLowerInvariant (); }},
-               };
-               var assemblies = Parse (p, args, "update", 
-                               "[OPTIONS]+ ASSEMBLIES",
-                               "Create or update documentation from ASSEMBLIES.");
-               if (assemblies == null)
-                       return;
-               if (assemblies.Count == 0)
-                       Error ("No assemblies specified.");
-               
-               // validation for the api-style parameter
-               if (apistyle == "classic") 
-                       isClassicRun = true;
-               else if (apistyle == "unified") {
-                       if (!droppedAssemblies.Any ())
-                               Error ("api-style 'unified' must also supply the 'dropns' parameter with at least one assembly and dropped namespace.");
-               } else if (!string.IsNullOrWhiteSpace (apistyle)) 
-                       Error ("api-style '{0}' is not currently supported", apistyle);
-                       
-                               
-               foreach (var dir in assemblies
-                               .Where (a => a.Contains (Path.DirectorySeparatorChar))
-                               .Select (a => Path.GetDirectoryName (a)))
-                       assemblyResolver.AddSearchDirectory (dir);
-
-               // PARSE BASIC OPTIONS AND LOAD THE ASSEMBLY TO DOCUMENT
-               
-               if (srcPath == null)
-                       throw new InvalidOperationException("The --out option is required.");
-               
-               this.assemblies = assemblies.Select (a => LoadAssembly (a)).ToList ();
-
-               // Store types that have been forwarded to avoid duplicate generation
-               GatherForwardedTypes ();
-
-               docEnum = docEnum ?? new DocumentationEnumerator ();
-               
-               // PERFORM THE UPDATES
-               
-               if (types.Count > 0) {
-                       types.Sort ();
-                       DoUpdateTypes (srcPath, types, srcPath);
-               }
-#if false
-               else if (opts.@namespace != null)
-                       DoUpdateNS (opts.@namespace, Path.Combine (opts.path, opts.@namespace),
-                                       Path.Combine (dest_dir, opts.@namespace));
-#endif
-               else
-                       DoUpdateAssemblies (srcPath, srcPath);
-
-               Console.WriteLine("Members Added: {0}, Members Deleted: {1}", additions, deletions);
-       }
-               public static bool IsInAssemblies(string name) {
-                       var query = Instance.assemblies.Where (a => a.MainModule.Name == name).ToArray ();
-                       return query.Length > 0;
-               }
-       void AddImporter (string path)
-       {
-               try {
-                       XmlReader r = new XmlTextReader (path);
-                       if (r.Read ()) {
-                               while (r.NodeType != XmlNodeType.Element) {
-                                       if (!r.Read ())
-                                               Error ("Unable to read XML file: {0}.", path);
-                               }
-                               if (r.LocalName == "doc") {
-                                       importers.Add (new MsxdocDocumentationImporter (path));
-                               }
-                               else if (r.LocalName == "Libraries") {
-                                       var ecmadocs = new XmlTextReader (path);
-                                       docEnum = new EcmaDocumentationEnumerator (this, ecmadocs);
-                                       importers.Add (new EcmaDocumentationImporter (ecmadocs));
-                               }
-                               else
-                                       Error ("Unsupported XML format within {0}.", path);
-                       }
-                       r.Close ();
-               } catch (Exception e) {
-                       Environment.ExitCode = 1;
-                       Error ("Could not load XML file: {0}.", e.Message);
-               }
-       }
-
-       void GatherForwardedTypes ()
-       {
-               foreach (var asm in assemblies)
-                       foreach (var type in asm.MainModule.ExportedTypes.Where (t => t.IsForwarder).Select (t => t.FullName))
-                               forwardedTypes.Add (type);
-       }
-
-       static ExceptionLocations ParseExceptionLocations (string s)
-       {
-               ExceptionLocations loc = ExceptionLocations.Member;
-               if (s == null)
-                       return loc;
-               foreach (var type in s.Split (',')) {
-                       switch (type) {
-                               case "added":   loc |= ExceptionLocations.AddedMembers; break;
-                               case "all":     loc |= ExceptionLocations.Assembly | ExceptionLocations.DependentAssemblies; break;
-                               case "asm":     loc |= ExceptionLocations.Assembly; break;
-                               case "depasm":  loc |= ExceptionLocations.DependentAssemblies; break;
-                               default:        throw new NotSupportedException ("Unsupported --exceptions value: " + type);
-                       }
-               }
-               return loc;
-       }
-
-       internal void Warning (string format, params object[] args)
-       {
-               Message (TraceLevel.Warning, "mdoc: " + format, args);
-       }
-       
-       private AssemblyDefinition LoadAssembly (string name)
-       {
-               AssemblyDefinition assembly = null;
-               try {
-                       assembly = AssemblyDefinition.ReadAssembly (name, new ReaderParameters { AssemblyResolver = assemblyResolver });
-               } catch (System.IO.FileNotFoundException) { }
-
-               if (assembly == null)
-                       throw new InvalidOperationException("Assembly " + name + " not found.");
-
-               return assembly;
-       }
-
-       private static void WriteXml(XmlElement element, System.IO.TextWriter output) {
-               OrderTypeAttributes (element);
-               XmlTextWriter writer = new XmlTextWriter(output);
-               writer.Formatting = Formatting.Indented;
-               writer.Indentation = 2;
-               writer.IndentChar = ' ';
-               element.WriteTo(writer);
-               output.WriteLine();     
-       }
-
-       private static void WriteFile (string filename, FileMode mode, Action<TextWriter> action)
-       {
-               Action<string> creator = file => {
-                       using (var writer = OpenWrite (file, mode))
-                               action (writer);
-               };
-
-               MdocFile.UpdateFile (filename, creator);
-       }
-
-       private static void OrderTypeAttributes (XmlElement e)
-       {
-               foreach (XmlElement type in e.SelectNodes ("//Type")) {
-                       OrderTypeAttributes (type.Attributes);
-               }
-       }
-
-       static readonly string[] TypeAttributeOrder = {
-               "Name", "FullName", "FullNameSP", "Maintainer"
-       };
-
-       private static void OrderTypeAttributes (XmlAttributeCollection c)
-       {
-               XmlAttribute[] attrs = new XmlAttribute [TypeAttributeOrder.Length];
-               for (int i = 0; i < c.Count; ++i) {
-                       XmlAttribute a = c [i];
-                       for (int j = 0; j < TypeAttributeOrder.Length; ++j) {
-                               if (a.Name == TypeAttributeOrder [j]) {
-                                       attrs [j] = a;
-                                       break;
-                               }
-                       }
-               }
-               for (int i = attrs.Length-1; i >= 0; --i) {
-                       XmlAttribute n = attrs [i];
-                       if (n == null)
-                               continue;
-                       XmlAttribute r = null;
-                       for (int j = i+1; j < attrs.Length; ++j) {
-                               if (attrs [j] != null) {
-                                       r = attrs [j];
-                                       break;
-                               }
-                       }
-                       if (r == null)
-                               continue;
-                       if (c [n.Name] != null) {
-                               c.RemoveNamedItem (n.Name);
-                               c.InsertBefore (n, r);
-                       }
-               }
-       }
-       
-       private XmlDocument CreateIndexStub()
-       {
-               XmlDocument index = new XmlDocument();
-
-               XmlElement index_root = index.CreateElement("Overview");
-               index.AppendChild(index_root);
-
-               if (assemblies.Count == 0)
-                       throw new Exception ("No assembly");
-
-               XmlElement index_assemblies = index.CreateElement("Assemblies");
-               index_root.AppendChild(index_assemblies);
-
-               XmlElement index_remarks = index.CreateElement("Remarks");
-               index_remarks.InnerText = "To be added.";
-               index_root.AppendChild(index_remarks);
-
-               XmlElement index_copyright = index.CreateElement("Copyright");
-               index_copyright.InnerText = "To be added.";
-               index_root.AppendChild(index_copyright);
-
-               XmlElement index_types = index.CreateElement("Types");
-               index_root.AppendChild(index_types);
-               
-               return index;
-       }
-       
-       private static void WriteNamespaceStub(string ns, string outdir) {
-               XmlDocument index = new XmlDocument();
-
-               XmlElement index_root = index.CreateElement("Namespace");
-               index.AppendChild(index_root);
-               
-               index_root.SetAttribute("Name", ns);
-
-               XmlElement index_docs = index.CreateElement("Docs");
-               index_root.AppendChild(index_docs);
-
-               XmlElement index_summary = index.CreateElement("summary");
-               index_summary.InnerText = "To be added.";
-               index_docs.AppendChild(index_summary);
-
-               XmlElement index_remarks = index.CreateElement("remarks");
-               index_remarks.InnerText = "To be added.";
-               index_docs.AppendChild(index_remarks);
-
-               WriteFile (outdir + "/ns-" + ns + ".xml", FileMode.CreateNew, 
-                               writer => WriteXml (index.DocumentElement, writer));
-       }
-
-       public void DoUpdateTypes (string basepath, List<string> typenames, string dest)
-       {
-               var index = CreateIndexForTypes (dest);
-
-               var found = new HashSet<string> ();
-               foreach (AssemblyDefinition assembly in assemblies) {
-                       foreach (TypeDefinition type in docEnum.GetDocumentationTypes (assembly, typenames)) {
-                               string relpath = DoUpdateType (type, basepath, dest);
-                               if (relpath == null)
-                                       continue;
-
-                               found.Add (type.FullName);
-
-                               if (index == null)
-                                       continue;
-
-                               index.Add (assembly);
-                               index.Add (type);
-                       }
-               }
-
-               if (index != null)
-                       index.Write ();
-               
-               if (ignore_missing_types)
-                       return;
-
-               var notFound = from n in typenames where !found.Contains (n) select n;
-               if (notFound.Any ())
-                       throw new InvalidOperationException("Type(s) not found: " + string.Join (", ", notFound.ToArray ()));
-       }
-
-       class IndexForTypes {
-
-               MDocUpdater app;
-               string indexFile;
-
-               XmlDocument index;
-               XmlElement index_types;
-               XmlElement index_assemblies;
-
-               public IndexForTypes (MDocUpdater app, string indexFile, XmlDocument index)
-               {
-                       this.app        = app;
-                       this.indexFile  = indexFile;
-                       this.index      = index;
-
-                       index_types = WriteElement (index.DocumentElement, "Types");
-                       index_assemblies = WriteElement (index.DocumentElement, "Assemblies");
-               }
-
-               public void Add (AssemblyDefinition assembly)
-               {
-                       if (index_assemblies.SelectSingleNode ("Assembly[@Name='" + assembly.Name.Name + "']") != null)
-                               return;
-
-                       app.AddIndexAssembly (assembly, index_assemblies);
-               }
-
-               public void Add (TypeDefinition type)
-               {
-                       app.AddIndexType (type, index_types);
-               }
-
-               public void Write ()
-               {
-                       SortIndexEntries (index_types);
-                       WriteFile (indexFile, FileMode.Create, 
-                                       writer => WriteXml (index.DocumentElement, writer));
-               }
-       }
-
-       IndexForTypes CreateIndexForTypes (string dest)
-       {
-               string indexFile = Path.Combine (dest, "index.xml");
-               if (File.Exists (indexFile))
-                       return null;
-               return new IndexForTypes (this, indexFile, CreateIndexStub ());
-       }
-
-       /// <summary>Constructs the presumed path to the type's documentation file</summary>
-       /// <returns><c>true</c>, if the type file was found, <c>false</c> otherwise.</returns>
-       /// <param name="result">A typle that contains 1) the 'reltypefile', 2) the 'typefile', and 3) the file info</param>
-       bool TryFindTypeFile(string nsname, string typename, string basepath, out Tuple<string, string, FileInfo> result) {
-               string reltypefile = DocUtils.PathCombine (nsname, typename + ".xml");
-               string typefile = Path.Combine (basepath, reltypefile);
-               System.IO.FileInfo file = new System.IO.FileInfo(typefile);
-
-               result = new Tuple<string, string, FileInfo> (reltypefile, typefile, file);
-
-               return file.Exists;
-       }
-       
-       public string DoUpdateType (TypeDefinition type, string basepath, string dest)
-       {
-               if (type.Namespace == null)
-                       Warning ("warning: The type `{0}' is in the root namespace.  This may cause problems with display within monodoc.",
-                                       type.FullName);
-               if (!IsPublic (type))
-                       return null;
-               
-               // Must get the A+B form of the type name.
-               string typename = GetTypeFileName(type);
-               string nsname = DocUtils.GetNamespace (type);
-
-               // Find the file, if it exists
-               string[] searchLocations = new string[] {
-                       nsname
-               };
-
-               if (MDocUpdater.HasDroppedNamespace (type)) {
-                       // If dropping namespace, types may have moved into a couple of different places.
-                       var newSearchLocations = searchLocations.Union (new string[] {
-                               string.Format ("{0}.{1}", droppedNamespace, nsname),
-                               nsname.Replace (droppedNamespace + ".", string.Empty),
-                               MDocUpdater.droppedNamespace
-                       });
-
-                       searchLocations = newSearchLocations.ToArray ();
-               }
-
-               string reltypefile="", typefile="";
-               System.IO.FileInfo file = null;
-
-               foreach (var f in searchLocations) {
-                       Tuple<string, string, FileInfo> result;
-                       bool fileExists = TryFindTypeFile (f, typename, basepath, out result);
-
-                       if (fileExists) {
-                               reltypefile = result.Item1;
-                               typefile = result.Item2;
-                               file = result.Item3;
-
-                               break;
-                       }
-               }
-
-               if (file == null || !file.Exists) {
-                       // we were not able to find a file, let's use the original type informatio.
-                       // so that we create the stub in the right place.
-                       Tuple<string, string, FileInfo> result;
-                       TryFindTypeFile (nsname, typename, basepath, out result);
-
-                       reltypefile = result.Item1;
-                       typefile = result.Item2;
-                       file = result.Item3;
-               }
-               
-               string output = null;
-               if (dest == null) {
-                       output = typefile;
-               } else if (dest == "-") {
-                       output = null;
-               } else {
-                       output = Path.Combine (dest, reltypefile);
-               }       
-
-               if (file != null && file.Exists) {
-                       // Update
-                       XmlDocument basefile = new XmlDocument();
-                       try {
-                               basefile.Load(typefile);
-                       } catch (Exception e) {
-                               throw new InvalidOperationException("Error loading " + typefile + ": " + e.Message, e);
-                       }
-                       
-                       DoUpdateType2("Updating", basefile, type, output, false);
-               } else {
-                       // Stub
-                       XmlElement td = StubType(type, output);
-                       if (td == null)
-                               return null;
-               }
-               return reltypefile;
-       }
-
-       public void DoUpdateNS (string ns, string nspath, string outpath)
-       {
-               Dictionary<TypeDefinition, object> seenTypes = new Dictionary<TypeDefinition,object> ();
-               AssemblyDefinition                  assembly = assemblies [0];
-
-               foreach (System.IO.FileInfo file in new System.IO.DirectoryInfo(nspath).GetFiles("*.xml")) {
-                       XmlDocument basefile = new XmlDocument();
-                       string typefile = Path.Combine(nspath, file.Name);
-                       try {
-                               basefile.Load(typefile);
-                       } catch (Exception e) {
-                               throw new InvalidOperationException("Error loading " + typefile + ": " + e.Message, e);
-                       }
-
-                       string typename = 
-                               GetTypeFileName (basefile.SelectSingleNode("Type/@FullName").InnerText);
-                       TypeDefinition type = assembly.GetType(typename);
-                       if (type == null) {
-                                       // --
-                                       if (!string.IsNullOrWhiteSpace (droppedNamespace)) {
-                                               string nameWithNs = string.Format ("{0}.{1}", droppedNamespace, typename);
-                                               type = assembly.GetType (nameWithNs);
-                                               if (type == null) {
-                                                       Warning ("Type no longer in assembly: " + typename);
-                                                       continue;
-                                               }
-                                       }
-                                       //--
-                       }                       
-
-                       seenTypes[type] = seenTypes;
-                       DoUpdateType2("Updating", basefile, type, Path.Combine(outpath, file.Name), false);
-               }
-               
-               // Stub types not in the directory
-               foreach (TypeDefinition type in docEnum.GetDocumentationTypes (assembly, null)) {
-                       if (type.Namespace != ns || seenTypes.ContainsKey(type))
-                               continue;
-
-                       XmlElement td = StubType(type, Path.Combine(outpath, GetTypeFileName(type) + ".xml"));
-                       if (td == null) continue;
-               }
-       }
-       
-       private static string GetTypeFileName (TypeReference type)
-       {
-               return filenameFormatter.GetName (type);
-       }
-
-       public static string GetTypeFileName (string typename)
-       {
-               StringBuilder filename = new StringBuilder (typename.Length);
-               int numArgs = 0;
-               int numLt = 0;
-               bool copy = true;
-               for (int i = 0; i < typename.Length; ++i) {
-                       char c = typename [i];
-                       switch (c) {
-                               case '<':
-                                       copy = false;
-                                       ++numLt;
-                                       break;
-                               case '>':
-                                       --numLt;
-                                       if (numLt == 0) {
-                                               filename.Append ('`').Append ((numArgs+1).ToString());
-                                               numArgs = 0;
-                                               copy = true;
-                                       }
-                                       break;
-                               case ',':
-                                       if (numLt == 1)
-                                               ++numArgs;
-                                       break;
-                               default:
-                                       if (copy)
-                                               filename.Append (c);
-                                       break;
-                       }
-               }
-               return filename.ToString ();
-       }
-
-       private void AddIndexAssembly (AssemblyDefinition assembly, XmlElement parent)
-       {
-               XmlElement index_assembly = null;
-               if (IsMultiAssembly) 
-                       index_assembly = (XmlElement)parent.SelectSingleNode ("Assembly[@Name='"+ assembly.Name.Name +"']");
-               
-               if (index_assembly == null) 
-                       index_assembly = parent.OwnerDocument.CreateElement ("Assembly");
-
-               index_assembly.SetAttribute ("Name", assembly.Name.Name);
-               index_assembly.SetAttribute ("Version", assembly.Name.Version.ToString());
-
-               AssemblyNameDefinition name = assembly.Name;
-               if (name.HasPublicKey) {
-                       XmlElement pubkey = parent.OwnerDocument.CreateElement ("AssemblyPublicKey");
-                       var key = new StringBuilder (name.PublicKey.Length*3 + 2);
-                       key.Append ("[");
-                       foreach (byte b in name.PublicKey)
-                               key.AppendFormat ("{0,2:x2} ", b);
-                       key.Append ("]");
-                       pubkey.InnerText = key.ToString ();
-                       index_assembly.AppendChild (pubkey);
-               }
-
-               if (!string.IsNullOrEmpty (name.Culture)) {
-                       XmlElement culture = parent.OwnerDocument.CreateElement ("AssemblyCulture");
-                       culture.InnerText = name.Culture;
-                       index_assembly.AppendChild (culture);
-               }
-
-               MakeAttributes (index_assembly, GetCustomAttributes (assembly.CustomAttributes, ""));
-               parent.AppendChild(index_assembly);
-       }
-
-       private void AddIndexType (TypeDefinition type, XmlElement index_types)
-       {
-               string typename = GetTypeFileName(type);
-
-               // Add namespace and type nodes into the index file as needed
-               string ns = DocUtils.GetNamespace (type);
-               XmlElement nsnode = (XmlElement) index_types.SelectSingleNode ("Namespace[@Name='" + ns + "']");
-               if (nsnode == null) {
-                       nsnode = index_types.OwnerDocument.CreateElement("Namespace");
-                       nsnode.SetAttribute ("Name", ns);
-                       index_types.AppendChild (nsnode);
-               }
-               string doc_typename = GetDocTypeName (type);
-               XmlElement typenode = (XmlElement) nsnode.SelectSingleNode ("Type[@Name='" + typename + "']");
-               if (typenode == null) {
-                       typenode = index_types.OwnerDocument.CreateElement ("Type");
-                       typenode.SetAttribute ("Name", typename);
-                       nsnode.AppendChild (typenode);
-               }
-               if (typename != doc_typename)
-                       typenode.SetAttribute("DisplayName", doc_typename);
-               else
-                       typenode.RemoveAttribute("DisplayName");
-
-               typenode.SetAttribute ("Kind", GetTypeKind (type));
-       }
-
-       private void DoUpdateAssemblies (string source, string dest) 
-       {
-               string indexfile = dest + "/index.xml";
-               XmlDocument index;
-               if (System.IO.File.Exists(indexfile)) {
-                       index = new XmlDocument();
-                       index.Load(indexfile);
-
-                       // Format change
-                       ClearElement(index.DocumentElement, "Assembly");
-                       ClearElement(index.DocumentElement, "Attributes");
-               } else {
-                       index = CreateIndexStub();
-               }
-               
-               string defaultTitle = "Untitled";
-               if (assemblies.Count == 1)
-                       defaultTitle = assemblies[0].Name.Name;
-               WriteElementInitialText(index.DocumentElement, "Title", defaultTitle);
-               
-               XmlElement index_types = WriteElement(index.DocumentElement, "Types");
-               XmlElement index_assemblies = WriteElement(index.DocumentElement, "Assemblies");
-               if (!IsMultiAssembly) 
-                       index_assemblies.RemoveAll ();
-
-
-               HashSet<string> goodfiles = new HashSet<string> (StringComparer.OrdinalIgnoreCase);
-
-               foreach (AssemblyDefinition assm in assemblies) {
-                       AddIndexAssembly (assm, index_assemblies);
-                       DoUpdateAssembly (assm, index_types, source, dest, goodfiles);
-               }
-
-               SortIndexEntries (index_types);
-               
-               CleanupFiles (dest, goodfiles);
-               CleanupIndexTypes (index_types, goodfiles);
-               CleanupExtensions (index_types);
-
-               WriteFile (indexfile, FileMode.Create, 
-                               writer => WriteXml(index.DocumentElement, writer));
-       }
-               
-       private static char[] InvalidFilenameChars = {'\\', '/', ':', '*', '?', '"', '<', '>', '|'};
-
-       private void DoUpdateAssembly (AssemblyDefinition assembly, XmlElement index_types, string source, string dest, HashSet<string> goodfiles) 
-       {
-               foreach (TypeDefinition type in docEnum.GetDocumentationTypes (assembly, null)) {
-                       string typename = GetTypeFileName(type);
-                       if (!IsPublic (type) || typename.IndexOfAny (InvalidFilenameChars) >= 0 || forwardedTypes.Contains (type.FullName))
-                               continue;
-
-                       string reltypepath = DoUpdateType (type, source, dest);
-                       if (reltypepath == null)
-                               continue;
-                       
-                       // Add namespace and type nodes into the index file as needed
-                       AddIndexType (type, index_types);
-
-                       // Ensure the namespace index file exists
-                       string namespaceToUse = type.Namespace;
-                       if (HasDroppedNamespace(assembly)) {
-                               namespaceToUse = string.Format ("{0}.{1}", droppedNamespace, namespaceToUse);
-                       }
-                       string onsdoc = DocUtils.PathCombine (dest, namespaceToUse + ".xml");
-                       string nsdoc  = DocUtils.PathCombine (dest, "ns-" + namespaceToUse + ".xml");
-                       if (File.Exists (onsdoc)) {
-                               File.Move (onsdoc, nsdoc);
-                       }
-
-                       if (!File.Exists (nsdoc)) {
-                               Console.WriteLine("New Namespace File: " + type.Namespace);
-                               WriteNamespaceStub(namespaceToUse, dest);
-                       }
-
-                       goodfiles.Add (reltypepath);
-               }
-       }
-
-       private static void SortIndexEntries (XmlElement indexTypes)
-       {
-               XmlNodeList namespaces = indexTypes.SelectNodes ("Namespace");
-               XmlNodeComparer c = new AttributeNameComparer ();
-               SortXmlNodes (indexTypes, namespaces, c);
-
-               for (int i = 0; i < namespaces.Count; ++i)
-                       SortXmlNodes (namespaces [i], namespaces [i].SelectNodes ("Type"), c);
-       }
-
-       private static void SortXmlNodes (XmlNode parent, XmlNodeList children, XmlNodeComparer comparer)
-       {
-               MyXmlNodeList l = new MyXmlNodeList (children.Count);
-               for (int i = 0; i < children.Count; ++i)
-                       l.Add (children [i]);
-               l.Sort (comparer);
-               for (int i = l.Count - 1; i > 0; --i) {
-                       parent.InsertBefore (parent.RemoveChild ((XmlNode) l [i-1]), (XmlNode) l [i]);
-               }
-       }
-
-       abstract class XmlNodeComparer : IComparer, IComparer<XmlNode>
-       {
-               public abstract int Compare (XmlNode x, XmlNode y);
-
-               public int Compare (object x, object y)
-               {
-                       return Compare ((XmlNode) x, (XmlNode) y);
-               }
-       }
-
-       class AttributeNameComparer : XmlNodeComparer {
-               string attribute;
-
-               public AttributeNameComparer ()
-                       : this ("Name")
-               {
-               }
-
-               public AttributeNameComparer (string attribute)
-               {
-                       this.attribute = attribute;
-               }
-
-               public override int Compare (XmlNode x, XmlNode y)
-               {
-                       return x.Attributes [attribute].Value.CompareTo (y.Attributes [attribute].Value);
-               }
-       }
-       
-       class VersionComparer : XmlNodeComparer {
-               public override int Compare (XmlNode x, XmlNode y)
-               {
-                       // Some of the existing docs use e.g. 1.0.x.x, which Version doesn't like.
-                       string a = GetVersion (x.InnerText);
-                       string b = GetVersion (y.InnerText);
-                       return new Version (a).CompareTo (new Version (b));
-               }
-
-               static string GetVersion (string v)
-               {
-                       int n = v.IndexOf ("x");
-                       if (n < 0)
-                               return v;
-                       return v.Substring (0, n-1);
-               }
-       }
-
-       private static string GetTypeKind (TypeDefinition type)
-       {
-               if (type.IsEnum)
-                       return "Enumeration";
-               if (type.IsValueType)
-                       return "Structure";
-               if (type.IsInterface)
-                       return "Interface";
-               if (DocUtils.IsDelegate (type))
-                       return "Delegate";
-               if (type.IsClass || type.FullName == "System.Enum") // FIXME
-                       return "Class";
-               throw new ArgumentException ("Unknown kind for type: " + type.FullName);
-       }
-
-       public static bool IsPublic (TypeDefinition type)
-       {
-               TypeDefinition decl = type;
-               while (decl != null) {
-                       if (!(decl.IsPublic || decl.IsNestedPublic ||
-                                               decl.IsNestedFamily || decl.IsNestedFamily || decl.IsNestedFamilyOrAssembly)) {
-                               return false;
-                       }
-                       decl = (TypeDefinition) decl.DeclaringType;
-               }
-               return true;
-       }
-
-       private void CleanupFiles (string dest, HashSet<string> goodfiles)
-       {
-               // Look for files that no longer correspond to types
-               foreach (System.IO.DirectoryInfo nsdir in new System.IO.DirectoryInfo(dest).GetDirectories("*")) {
-                       foreach (System.IO.FileInfo typefile in nsdir.GetFiles("*.xml")) {
-                               string relTypeFile = Path.Combine(nsdir.Name, typefile.Name);
-                               if (!goodfiles.Contains (relTypeFile)) {
-                                       XmlDocument doc = new XmlDocument ();
-                                       doc.Load (typefile.FullName);
-                                       XmlElement e = doc.SelectSingleNode("/Type") as XmlElement;
-                                       var assemblyNameNode = doc.SelectSingleNode ("/Type/AssemblyInfo/AssemblyName");
-                                       if (assemblyNameNode == null){
-                                               Warning ("Did not find /Type/AssemblyInfo/AssemblyName on {0}", typefile.FullName);
-                                               continue;
-                                       }
-                                       string assemblyName = assemblyNameNode.InnerText;
-                                       AssemblyDefinition assembly = assemblies.FirstOrDefault (a => a.Name.Name == assemblyName);
-
-                                       Action saveDoc = () => {
-                                               using (TextWriter writer = OpenWrite (typefile.FullName, FileMode.Truncate))
-                                                       WriteXml(doc.DocumentElement, writer);
-                                       };
-
-                                       if (e != null && !no_assembly_versions && assembly != null && assemblyName != null && UpdateAssemblyVersions (e, assembly, GetAssemblyVersions(assemblyName), false)) {
-                                               saveDoc ();
-                                               goodfiles.Add (relTypeFile);
-                                               continue;
-                                       }
-
-                                       Action actuallyDelete = () => {
-                                               string newname = typefile.FullName + ".remove";
-                                               try { System.IO.File.Delete (newname); } catch (Exception) { Warning ("Unable to delete existing file: {0}", newname); }
-                                               try { typefile.MoveTo (newname); } catch (Exception) { Warning ("Unable to rename to: {0}", newname); }
-                                               Console.WriteLine ("Class no longer present; file renamed: " + Path.Combine (nsdir.Name, typefile.Name));
-                                       };
-
-                                       if (string.IsNullOrWhiteSpace (PreserveTag)) { // only do this if there was not a -preserve
-                                               saveDoc ();
-
-                                               var unifiedAssemblyNode = doc.SelectSingleNode ("/Type/AssemblyInfo[@apistyle='unified']");
-                                               var classicAssemblyNode = doc.SelectSingleNode ("/Type/AssemblyInfo[not(@apistyle) or @apistyle='classic']");
-                                               var unifiedMembers = doc.SelectNodes ("//Member[@apistyle='unified']|//Member/AssemblyInfo[@apistyle='unified']");
-                                               var classicMembers = doc.SelectNodes ("//Member[@apistyle='classic']|//Member/AssemblyInfo[@apistyle='classic']");
-                                               bool isUnifiedRun = HasDroppedAnyNamespace ();
-                                               bool isClassicOrNormalRun = !isUnifiedRun;
-
-                                               Action<XmlNode, ApiStyle> removeStyles = (x, style) => {
-                                                       var styledNodes = doc.SelectNodes("//*[@apistyle='"+ style.ToString ().ToLowerInvariant () +"']");
-                                                       if (styledNodes != null && styledNodes.Count > 0) {
-                                                               foreach(var node in styledNodes.Cast<XmlNode> ()) {
-                                                                       node.ParentNode.RemoveChild (node);
-                                                               }
-                                                       }
-                                                       saveDoc ();
-                                               };
-                                               if (isClassicOrNormalRun) {
-                                                       if (unifiedAssemblyNode != null || unifiedMembers.Count > 0) {
-                                                               Warning ("*** this type is marked as unified, not deleting during this run: {0}", typefile.FullName);
-                                                               // if truly removed from both assemblies, it will be removed fully during the unified run
-                                                               removeStyles (doc, ApiStyle.Classic);
-                                                               continue;
-                                                       } else {
-                                                               // we should be safe to delete here because it was not marked as a unified assembly
-                                                               actuallyDelete ();
-                                                       }
-                                               }
-                                               if (isUnifiedRun) {
-                                                       if (classicAssemblyNode != null || classicMembers.Count > 0) {
-                                                               Warning ("*** this type is marked as classic, not deleting {0}", typefile.FullName);
-                                                               continue; 
-                                                       } else {
-                                                               // safe to delete because it wasn't marked as a classic assembly, so the type is gone in both.
-                                                               actuallyDelete ();
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-
-       private static TextWriter OpenWrite (string path, FileMode mode)
-       {
-               var w = new StreamWriter (
-                       new FileStream (path, mode),
-                       new UTF8Encoding (false)
-               );
-               w.NewLine = "\n";
-               return w;
-       }
-
-       private string[] GetAssemblyVersions (string assemblyName)
-       {
-               return (from a in assemblies 
-                       where a.Name.Name == assemblyName 
-                       select GetAssemblyVersion (a)).ToArray ();
-       }
-
-       private static void CleanupIndexTypes (XmlElement index_types, HashSet<string> goodfiles)
-       {
-               // Look for type nodes that no longer correspond to types
-               MyXmlNodeList remove = new MyXmlNodeList ();
-               foreach (XmlElement typenode in index_types.SelectNodes("Namespace/Type")) {
-                       string fulltypename = Path.Combine (((XmlElement)typenode.ParentNode).GetAttribute("Name"), typenode.GetAttribute("Name") + ".xml");
-                       if (!goodfiles.Contains (fulltypename)) {
-                               remove.Add (typenode);
-                       }
-               }
-               foreach (XmlNode n in remove)
-                       n.ParentNode.RemoveChild (n);
-       }
-
-       private void CleanupExtensions (XmlElement index_types)
-       {
-               XmlNode e = index_types.SelectSingleNode ("/Overview/ExtensionMethods");
-               if (extensionMethods.Count == 0) {
-                       if (e == null)
-                               return;
-                       index_types.SelectSingleNode ("/Overview").RemoveChild (e);
-                       return;
-               }
-               if (e == null) {
-                       e = index_types.OwnerDocument.CreateElement ("ExtensionMethods");
-                       index_types.SelectSingleNode ("/Overview").AppendChild (e);
-               }
-               else
-                       e.RemoveAll ();
-               extensionMethods.Sort (DefaultExtensionMethodComparer);
-               foreach (XmlNode m in extensionMethods) {
-                       e.AppendChild (index_types.OwnerDocument.ImportNode (m, true));
-               }
-       }
-
-       class ExtensionMethodComparer : XmlNodeComparer {
-               public override int Compare (XmlNode x, XmlNode y)
-               {
-                       XmlNode xLink = x.SelectSingleNode ("Member/Link");
-                       XmlNode yLink = y.SelectSingleNode ("Member/Link");
-
-                       int n = xLink.Attributes ["Type"].Value.CompareTo (
-                                       yLink.Attributes ["Type"].Value);
-                       if (n != 0)
-                               return n;
-                       n = xLink.Attributes ["Member"].Value.CompareTo (
-                                       yLink.Attributes ["Member"].Value);
-                       if (n == 0 && !object.ReferenceEquals (x, y))
-                               throw new InvalidOperationException ("Duplicate extension method found!");
-                       return n;
-               }
-       }
-
-       static readonly XmlNodeComparer DefaultExtensionMethodComparer = new ExtensionMethodComparer ();
-               
-       public void DoUpdateType2 (string message, XmlDocument basefile, TypeDefinition type, string output, bool insertSince)
-       {
-               Console.WriteLine(message + ": " + type.FullName);
-               
-               StringToXmlNodeMap seenmembers = new StringToXmlNodeMap ();
-
-               // Update type metadata
-               UpdateType(basefile.DocumentElement, type);
-
-               // Update existing members.  Delete member nodes that no longer should be there,
-               // and remember what members are already documented so we don't add them again.
-               
-               MyXmlNodeList todelete = new MyXmlNodeList ();
-               
-               foreach (DocsNodeInfo info in docEnum.GetDocumentationMembers (basefile, type)) {
-                       XmlElement oldmember  = info.Node;
-                       MemberReference oldmember2 = info.Member;
-
-                       if (info.Member != null &&  info.Node != null) {
-                               // Check for an error condition where the xml MemberName doesn't match the matched member
-                               var memberName = GetMemberName (info.Member);
-                               var memberAttribute = info.Node.Attributes ["MemberName"];
-                               if (memberAttribute == null || (memberAttribute.Value != memberName && memberAttribute.Value.Split (',').Length != memberName.Split (',').Length)) {
-                                       oldmember.SetAttribute ("MemberName", memberName);
-                               }
-                       }
-
-                       string sig = oldmember2 != null ? memberFormatters [0].GetDeclaration (oldmember2) : null;
-                       
-                       // Interface implementations and overrides are deleted from the docs
-                       // unless the overrides option is given.
-                       if (oldmember2 != null && sig == null)
-                               oldmember2 = null;
-                       
-                       // Deleted (or signature changed)
-                       if (oldmember2 == null) {
-                               if (!no_assembly_versions && UpdateAssemblyVersions (oldmember, type.Module.Assembly, new string[]{ GetAssemblyVersion (type.Module.Assembly) }, false))
-                                       continue;
-
-                               DeleteMember ("Member Removed", output, oldmember, todelete, type);
-                               continue;
-                       }
-                       
-                       // Duplicated
-                       if (seenmembers.ContainsKey (sig)) {
-                               if (object.ReferenceEquals (oldmember, seenmembers [sig])) {
-                                       // ignore, already seen
-                               }
-                               else if (DefaultMemberComparer.Compare (oldmember, seenmembers [sig]) == 0)
-                                       DeleteMember ("Duplicate Member Found", output, oldmember, todelete, type);
-                               else
-                                       Warning ("TODO: found a duplicate member '{0}', but it's not identical to the prior member found!", sig);
-                               continue;
-                       }
-                       
-                       // Update signature information
-                       UpdateMember(info);
-
-                       // get all apistyles of sig from info.Node
-                       var styles = oldmember.GetElementsByTagName ("MemberSignature").Cast<XmlElement> ()
-                               .Where (x => x.GetAttribute ("Language") == "C#" && !seenmembers.ContainsKey(x.GetAttribute("Value")))
-                               .Select (x => x.GetAttribute ("Value"));
-
-                       foreach (var stylesig in styles) {
-                               seenmembers.Add (stylesig, oldmember);
-                       }
-               }
-               foreach (XmlElement oldmember in todelete)
-                       oldmember.ParentNode.RemoveChild (oldmember);
-               
-               
-               if (!DocUtils.IsDelegate (type)) {
-                       XmlNode members = WriteElement (basefile.DocumentElement, "Members");
-                       var typemembers = type.GetMembers()
-                                       .Where(m => {
-                                               if (m is TypeDefinition) return false;
-                                               string sig = memberFormatters [0].GetDeclaration (m);
-                                               if (sig == null) return false;
-                                               if (seenmembers.ContainsKey(sig)) return false;
-
-                                               // Verify that the member isn't an explicitly implemented 
-                                               // member of an internal interface, in which case we shouldn't return true.
-                                               MethodDefinition methdef = null;
-                                               if (m is MethodDefinition) 
-                                                       methdef = m as MethodDefinition;
-                                               else if (m is PropertyDefinition) {
-                                                       var prop = m as PropertyDefinition;
-                                                       methdef = prop.GetMethod ?? prop.SetMethod;
-                                               }
-
-                                               if (methdef != null) {
-                                                       TypeReference iface;
-                                                       MethodReference imethod;
-
-                                                       if (methdef.Overrides.Count == 1) {
-                                                               DocUtils.GetInfoForExplicitlyImplementedMethod (methdef, out iface, out imethod);
-                                                               if (!IsPublic (iface.Resolve ())) return false;
-                                                       }
-                                               }
-
-                                               return true;
-                                       })
-                                       .ToArray();
-                       foreach (MemberReference m in typemembers) {
-                               XmlElement mm = MakeMember(basefile, new DocsNodeInfo (null, m));
-                               if (mm == null) continue;
-
-                               if (MDocUpdater.SwitchingToMagicTypes || MDocUpdater.HasDroppedNamespace (m)) {
-                                       // this is a unified style API that obviously doesn't exist in the classic API. Let's mark
-                                       // it with apistyle="unified", so that it's not displayed for classic style APIs
-                                       mm.AddApiStyle (ApiStyle.Unified);
-                               }
-
-                               members.AppendChild( mm );
-       
-                               Console.WriteLine("Member Added: " + mm.SelectSingleNode("MemberSignature/@Value").InnerText);
-                               additions++;
-                       }
-               }
-               
-               // Import code snippets from files
-               foreach (XmlNode code in basefile.GetElementsByTagName("code")) {
-                       if (!(code is XmlElement)) continue;
-                       string file = ((XmlElement)code).GetAttribute("src");
-                       string lang = ((XmlElement)code).GetAttribute("lang");
-                       if (file != "") {
-                               string src = GetCodeSource (lang, Path.Combine (srcPath, file));
-                               if (src != null)
-                                       code.InnerText = src;
-                       }
-               }
-
-               if (insertSince && since != null) {
-                       XmlNode docs = basefile.DocumentElement.SelectSingleNode("Docs");
-                       docs.AppendChild (CreateSinceNode (basefile));
-               }
-
-               do {
-                       XmlElement d = basefile.DocumentElement ["Docs"];
-                       XmlElement m = basefile.DocumentElement ["Members"];
-                       if (d != null && m != null)
-                               basefile.DocumentElement.InsertBefore (
-                                               basefile.DocumentElement.RemoveChild (d), m);
-                       SortTypeMembers (m);
-               } while (false);
-
-               if (output == null)
-                       WriteXml(basefile.DocumentElement, Console.Out);
-               else {
-                       FileInfo file = new FileInfo (output);
-                       if (!file.Directory.Exists) {
-                               Console.WriteLine("Namespace Directory Created: " + type.Namespace);
-                               file.Directory.Create ();
-                       }
-                       WriteFile (output, FileMode.Create,
-                                       writer => WriteXml(basefile.DocumentElement, writer));
-               }
-       }
-
-       private string GetCodeSource (string lang, string file)
-       {
-               int anchorStart;
-               if (lang == "C#" && (anchorStart = file.IndexOf (".cs#")) >= 0) {
-                       // Grab the specified region
-                       string region = "#region " + file.Substring (anchorStart + 4);
-                       file          = file.Substring (0, anchorStart + 3);
-                       try {
-                               using (StreamReader reader = new StreamReader (file)) {
-                                       string line;
-                                       StringBuilder src = new StringBuilder ();
-                                       int indent = -1;
-                                       while ((line = reader.ReadLine ()) != null) {
-                                               if (line.Trim() == region) {
-                                                       indent = line.IndexOf (region);
-                                                       continue;
-                                               }
-                                               if (indent >= 0 && line.Trim().StartsWith ("#endregion")) {
-                                                       break;
-                                               }
-                                               if (indent >= 0)
-                                                       src.Append (
-                                                                       (line.Length > 0 ? line.Substring (indent) : string.Empty) +
-                                                                       "\n");
-                                       }
-                                       return src.ToString ();
-                               }
-                       } catch (Exception e) {
-                               Warning ("Could not load <code/> file '{0}' region '{1}': {2}",
-                                               file, region, show_exceptions ? e.ToString () : e.Message);
-                               return null;
-                       }
-               }
-               try {
-                       using (StreamReader reader = new StreamReader (file))
-                               return reader.ReadToEnd ();
-               } catch (Exception e) {
-                       Warning ("Could not load <code/> file '" + file + "': " + e.Message);
-               }
-               return null;
-       }
-
-       void DeleteMember (string reason, string output, XmlNode member, MyXmlNodeList todelete, TypeDefinition type)
-       {
-               string format = output != null
-                       ? "{0}: File='{1}'; Signature='{4}'"
-                       : "{0}: XPath='/Type[@FullName=\"{2}\"]/Members/Member[@MemberName=\"{3}\"]'; Signature='{4}'";
-               string signature = member.SelectSingleNode ("MemberSignature[@Language='C#']/@Value").Value;
-               Warning (format,
-                               reason, 
-                               output,
-                               member.OwnerDocument.DocumentElement.GetAttribute ("FullName"),
-                               member.Attributes ["MemberName"].Value, 
-                               signature);
-
-               // Identify all of the different states that could affect our decision to delete the member
-               bool shouldPreserve = !string.IsNullOrWhiteSpace (PreserveTag);
-               bool hasContent = MemberDocsHaveUserContent (member);
-               bool shouldDelete = !shouldPreserve && (delete || !hasContent);
-
-               bool unifiedRun = HasDroppedNamespace (type);
-
-               var classicAssemblyInfo = member.SelectSingleNode ("AssemblyInfo[not(@apistyle) or @apistyle='classic']");
-               bool nodeIsClassic = classicAssemblyInfo != null || member.HasApiStyle (ApiStyle.Classic);
-               var unifiedAssemblyInfo = member.SelectSingleNode ("AssemblyInfo[@apistyle='unified']");
-               bool nodeIsUnified = unifiedAssemblyInfo != null || member.HasApiStyle (ApiStyle.Unified);
-
-               Action actuallyDelete = () => {
-                       todelete.Add (member);
-                       deletions++;
-               };
-
-               if (!shouldDelete) {
-                       // explicitly not deleting
-                       string message = shouldPreserve ? 
-                                       "Not deleting '{0}' due to --preserve." :
-                                       "Not deleting '{0}'; must be enabled with the --delete option";
-                       Warning (message, signature);
-               } else if (unifiedRun && nodeIsClassic) {
-                       // this is a unified run, and the member doesn't exist, but is marked as being in the classic assembly.
-                       member.RemoveApiStyle (ApiStyle.Unified);
-                       member.AddApiStyle (ApiStyle.Classic);
-                       Warning ("Not removing '{0}' since it's still in the classic assembly.", signature);
-               } else if (unifiedRun && !nodeIsClassic) {
-                       // unified run, and the node is not classic, which means it doesn't exist anywhere.
-                       actuallyDelete ();
-               } else { 
-                       if (!isClassicRun || (isClassicRun && !nodeIsClassic && !nodeIsUnified)) { // regular codepath (ie. not classic/unified)
-                               actuallyDelete ();
-                       } else { // this is a classic run
-                               Warning ("Removing classic from '{0}' ... will be removed in the unified run if not present there.", signature);
-                               member.RemoveApiStyle (ApiStyle.Classic);
-                               if (classicAssemblyInfo != null) {
-                                       member.RemoveChild (classicAssemblyInfo);
-                               }
-                       }
-               }
-       }
-
-       class MemberComparer : XmlNodeComparer {
-               public override int Compare (XmlNode x, XmlNode y)
-               {
-                       int r;
-                       string xMemberName = x.Attributes ["MemberName"].Value;
-                       string yMemberName = y.Attributes ["MemberName"].Value;
-
-                       // generic methods *end* with '>'
-                       // it's possible for explicitly implemented generic interfaces to
-                       // contain <...> without being a generic method
-                       if ((!xMemberName.EndsWith (">") || !yMemberName.EndsWith (">")) &&
-                                       (r = xMemberName.CompareTo (yMemberName)) != 0)
-                               return r;
-
-                       int lt;
-                       if ((lt = xMemberName.IndexOf ("<")) >= 0)
-                               xMemberName = xMemberName.Substring (0, lt);
-                       if ((lt = yMemberName.IndexOf ("<")) >= 0)
-                               yMemberName = yMemberName.Substring (0, lt);
-                       if ((r = xMemberName.CompareTo (yMemberName)) != 0)
-                               return r;
-
-                       // if @MemberName matches, then it's either two different types of
-                       // members sharing the same name, e.g. field & property, or it's an
-                       // overloaded method.
-                       // for different type, sort based on MemberType value.
-                       r = x.SelectSingleNode ("MemberType").InnerText.CompareTo (
-                                       y.SelectSingleNode ("MemberType").InnerText);
-                       if (r != 0)
-                               return r;
-
-                       // same type -- must be an overloaded method.  Sort based on type 
-                       // parameter count, then parameter count, then by the parameter 
-                       // type names.
-                       XmlNodeList xTypeParams = x.SelectNodes ("TypeParameters/TypeParameter");
-                       XmlNodeList yTypeParams = y.SelectNodes ("TypeParameters/TypeParameter");
-                       if (xTypeParams.Count != yTypeParams.Count)
-                               return xTypeParams.Count <= yTypeParams.Count ? -1 : 1;
-                       for (int i = 0; i < xTypeParams.Count; ++i) {
-                               r = xTypeParams [i].Attributes ["Name"].Value.CompareTo (
-                                               yTypeParams [i].Attributes ["Name"].Value);
-                               if (r != 0)
-                                       return r;
-                       }
-
-                       XmlNodeList xParams = x.SelectNodes ("Parameters/Parameter");
-                       XmlNodeList yParams = y.SelectNodes ("Parameters/Parameter");
-                       if (xParams.Count != yParams.Count)
-                               return xParams.Count <= yParams.Count ? -1 : 1;
-                       for (int i = 0; i < xParams.Count; ++i) {
-                               r = xParams [i].Attributes ["Type"].Value.CompareTo (
-                                               yParams [i].Attributes ["Type"].Value);
-                               if (r != 0)
-                                       return r;
-                       }
-                       // all parameters match, but return value might not match if it was
-                       // changed between one version and another.
-                       XmlNode xReturn = x.SelectSingleNode ("ReturnValue/ReturnType");
-                       XmlNode yReturn = y.SelectSingleNode ("ReturnValue/ReturnType");
-                       if (xReturn != null && yReturn != null) {
-                               r = xReturn.InnerText.CompareTo (yReturn.InnerText);
-                               if (r != 0)
-                                       return r;
-                       }
-
-                       return 0;
-               }
-       }
-
-       static readonly MemberComparer DefaultMemberComparer = new MemberComparer ();
-
-       private static void SortTypeMembers (XmlNode members)
-       {
-               if (members == null)
-                       return;
-               SortXmlNodes (members, members.SelectNodes ("Member"), DefaultMemberComparer);
-       }
-       
-       private static bool MemberDocsHaveUserContent (XmlNode e)
-       {
-               e = (XmlElement)e.SelectSingleNode("Docs");
-               if (e == null) return false;
-               foreach (XmlElement d in e.SelectNodes("*"))
-                       if (d.InnerText != "" && !d.InnerText.StartsWith("To be added"))
-                               return true;
-               return false;
-       }
-       
-       // UPDATE HELPER FUNCTIONS
-       
-       // CREATE A STUB DOCUMENTATION FILE     
-
-       public XmlElement StubType (TypeDefinition type, string output)
-       {
-               string typesig = typeFormatters [0].GetDeclaration (type);
-               if (typesig == null) return null; // not publicly visible
-               
-               XmlDocument doc = new XmlDocument();
-               XmlElement root = doc.CreateElement("Type");
-               doc.AppendChild (root);
-
-               DoUpdateType2 ("New Type", doc, type, output, true);
-               
-               return root;
-       }
-
-       private XmlElement CreateSinceNode (XmlDocument doc)
-       {
-               XmlElement s = doc.CreateElement ("since");
-               s.SetAttribute ("version", since);
-               return s;
-       }
-       
-       // STUBBING/UPDATING FUNCTIONS
-       
-       public void UpdateType (XmlElement root, TypeDefinition type)
-       {
-               root.SetAttribute("Name", GetDocTypeName (type));
-               root.SetAttribute("FullName", GetDocTypeFullName (type));
-
-               foreach (MemberFormatter f in typeFormatters) {
-                       string element = "TypeSignature[@Language='" + f.Language + "']";
-                       string valueToUse = f.GetDeclaration (type);
-
-                       AddXmlNode (
-                               root.SelectNodes (element).Cast<XmlElement> ().ToArray (), 
-                               x => x.GetAttribute ("Value") == valueToUse, 
-                               x => x.SetAttribute ("Value", valueToUse), 
-                               () => {
-                                       var node = WriteElementAttribute (root, element, "Language", f.Language, forceNewElement: true);
-                                       var newnode = WriteElementAttribute (root, node, "Value", valueToUse);
-                                       return newnode;
-                               },
-                               type);
-               }
-               
-               AddAssemblyNameToNode (root, type);
-
-               string assemblyInfoNodeFilter = MDocUpdater.HasDroppedNamespace (type) ? "[@apistyle='unified']" : "[not(@apistyle) or @apistyle='classic']";
-               Func<XmlElement, bool> assemblyFilter = x => x.SelectSingleNode ("AssemblyName").InnerText == type.Module.Assembly.Name.Name;
-               foreach(var ass in root.SelectNodes ("AssemblyInfo" + assemblyInfoNodeFilter).Cast<XmlElement> ().Where (assemblyFilter))
-               {
-                       WriteElementText(ass, "AssemblyName", type.Module.Assembly.Name.Name);
-                       if (!no_assembly_versions) {
-                               UpdateAssemblyVersions (ass, type, true);
-                       }
-                       else {
-                               var versions = ass.SelectNodes ("AssemblyVersion").Cast<XmlNode> ().ToList ();
-                               foreach (var version in versions)
-                                       ass.RemoveChild (version);
-                       }
-                       if (!string.IsNullOrEmpty (type.Module.Assembly.Name.Culture))
-                               WriteElementText(ass, "AssemblyCulture", type.Module.Assembly.Name.Culture);
-                       else
-                               ClearElement(ass, "AssemblyCulture");
-
-
-                       // Why-oh-why do we put assembly attributes in each type file?
-                       // Neither monodoc nor monodocs2html use them, so I'm deleting them
-                       // since they're outdated in current docs, and a waste of space.
-                       //MakeAttributes(ass, type.Assembly, true);
-                       XmlNode assattrs = ass.SelectSingleNode("Attributes");
-                       if (assattrs != null)
-                               ass.RemoveChild(assattrs);
-
-                       NormalizeWhitespace(ass);
-               }
-               
-               if (type.IsGenericType ()) {
-                               MakeTypeParameters (root, type.GenericParameters, type, MDocUpdater.HasDroppedNamespace(type));
-               } else {
-                       ClearElement(root, "TypeParameters");
-               }
-               
-               if (type.BaseType != null) {
-                       XmlElement basenode = WriteElement(root, "Base");
-                       
-                       string basetypename = GetDocTypeFullName (type.BaseType);
-                       if (basetypename == "System.MulticastDelegate") basetypename = "System.Delegate";
-                       WriteElementText(root, "Base/BaseTypeName", basetypename);
-                       
-                       // Document how this type instantiates the generic parameters of its base type
-                       TypeReference origBase = type.BaseType.GetElementType ();
-                       if (origBase.IsGenericType ()) {
-                               ClearElement(basenode, "BaseTypeArguments");
-                               GenericInstanceType baseInst             = type.BaseType as GenericInstanceType;
-                               IList<TypeReference> baseGenArgs    = baseInst == null ? null : baseInst.GenericArguments;
-                               IList<GenericParameter> baseGenParams = origBase.GenericParameters;
-                               if (baseGenArgs.Count != baseGenParams.Count)
-                                       throw new InvalidOperationException ("internal error: number of generic arguments doesn't match number of generic parameters.");
-                               for (int i = 0; baseGenArgs != null && i < baseGenArgs.Count; i++) {
-                                       GenericParameter param = baseGenParams [i];
-                                       TypeReference    value = baseGenArgs [i];
-
-                                       XmlElement bta = WriteElement(basenode, "BaseTypeArguments");
-                                       XmlElement arg = bta.OwnerDocument.CreateElement("BaseTypeArgument");
-                                       bta.AppendChild(arg);
-                                       arg.SetAttribute ("TypeParamName", param.Name);
-                                       arg.InnerText = GetDocTypeFullName (value);
-                               }
-                       }
-               } else {
-                       ClearElement(root, "Base");
-               }
-
-               if (!DocUtils.IsDelegate (type) && !type.IsEnum) {
-                       IEnumerable<TypeReference> userInterfaces = DocUtils.GetUserImplementedInterfaces (type);
-                       List<string> interface_names = userInterfaces
-                                       .Select (iface => GetDocTypeFullName (iface))
-                                       .OrderBy (s => s)
-                                       .ToList ();
-
-                       XmlElement interfaces = WriteElement(root, "Interfaces");
-                       interfaces.RemoveAll();
-                       foreach (string iname in interface_names) {
-                               XmlElement iface = root.OwnerDocument.CreateElement("Interface");
-                               interfaces.AppendChild(iface);
-                               WriteElementText(iface, "InterfaceName", iname);
-                       }
-               } else {
-                       ClearElement(root, "Interfaces");
-               }
-
-                       MakeAttributes (root, GetCustomAttributes (type), type);
-               
-               if (DocUtils.IsDelegate (type)) {
-                       MakeTypeParameters (root, type.GenericParameters, type, MDocUpdater.HasDroppedNamespace(type));
-                       var member = type.GetMethod ("Invoke");
-                       MakeParameters(root, member, member.Parameters);
-                       MakeReturnValue(root, member);
-               }
-               
-               DocsNodeInfo typeInfo = new DocsNodeInfo (WriteElement(root, "Docs"), type);
-               MakeDocNode (typeInfo);
-               
-               if (!DocUtils.IsDelegate (type))
-                       WriteElement (root, "Members");
-
-               OrderTypeNodes (root, root.ChildNodes);
-               NormalizeWhitespace(root);
-       }
-
-       /// <summary>Adds an AssemblyInfo with AssemblyName node to an XmlElement.</summary>
-       /// <returns>The assembly that was either added, or was already present</returns>
-       XmlElement AddAssemblyNameToNode (XmlElement root, TypeDefinition type)
-       {
-               return AddAssemblyNameToNode (root, type.Module);
-       }
-
-       /// <summary>Adds an AssemblyInfo with AssemblyName node to an XmlElement.</summary>
-       /// <returns>The assembly that was either added, or was already present</returns>
-       XmlElement AddAssemblyNameToNode (XmlElement root, ModuleDefinition module)
-       {
-               Func<XmlElement, bool> assemblyFilter = x => {
-                       var existingName = x.SelectSingleNode ("AssemblyName");
-
-                       bool apiStyleMatches = true;
-                       string currentApiStyle = x.GetAttribute ("apistyle");
-                       if ((HasDroppedNamespace (module) && !string.IsNullOrWhiteSpace (currentApiStyle) && currentApiStyle != "unified") ||
-                                   (isClassicRun && (string.IsNullOrWhiteSpace (currentApiStyle) || currentApiStyle != "classic"))) {
-                               apiStyleMatches = false;
-                       }
-                       return apiStyleMatches && (existingName == null || (existingName != null && existingName.InnerText == module.Assembly.Name.Name));
-               };
-               
-               return AddAssemblyXmlNode (
-                       root.SelectNodes ("AssemblyInfo").Cast<XmlElement> ().ToArray (), 
-                       assemblyFilter, x => WriteElementText (x, "AssemblyName", module.Assembly.Name.Name), 
-                       () =>  {
-                               XmlElement ass = WriteElement (root, "AssemblyInfo", forceNewElement: true);
-                               
-                               if (MDocUpdater.HasDroppedNamespace (module))
-                                       ass.AddApiStyle (ApiStyle.Unified);
-                               if (isClassicRun) 
-                                       ass.AddApiStyle (ApiStyle.Classic);
-                               return ass;
-                       }, module);
-       }
-
-       static readonly string[] TypeNodeOrder = {
-               "TypeSignature",
-               "MemberOfLibrary",
-               "AssemblyInfo",
-               "ThreadingSafetyStatement",
-               "ThreadSafetyStatement",
-               "TypeParameters",
-               "Base",
-               "Interfaces",
-               "Attributes",
-               "Parameters",
-               "ReturnValue",
-               "Docs",
-               "Members",
-               "TypeExcluded",
-       };
-
-       static void OrderTypeNodes (XmlNode member, XmlNodeList children)
-       {
-               ReorderNodes (member, children, TypeNodeOrder);
-       }
-
-       internal static IEnumerable<T> Sort<T> (IEnumerable<T> list)
-       {
-               List<T> l = new List<T> (list);
-               l.Sort ();
-               return l;
-       }
-
-       private void UpdateMember (DocsNodeInfo info)
-       {
-               XmlElement me = (XmlElement) info.Node;
-               MemberReference mi = info.Member;
-
-               foreach (MemberFormatter f in memberFormatters) {
-                       string element = "MemberSignature[@Language='" + f.Language + "']";
-
-                       var valueToUse = f.GetDeclaration (mi);
-
-                       AddXmlNode (
-                               me.SelectNodes (element).Cast<XmlElement> ().ToArray(), 
-                               x => x.GetAttribute("Value") == valueToUse, 
-                               x => x.SetAttribute ("Value", valueToUse), 
-                               () => {
-                                       var node = WriteElementAttribute (me, element, "Language", f.Language, forceNewElement:true);
-                                       var newNode = WriteElementAttribute (me, node, "Value", valueToUse);
-                                       return newNode;
-                               },
-                               mi);
-
-               }
-
-               WriteElementText(me, "MemberType", GetMemberType(mi));
-
-               if (!no_assembly_versions) {
-                       if (!IsMultiAssembly)
-                               UpdateAssemblyVersions (me, mi, true);
-                       else {
-                               var node = AddAssemblyNameToNode (me, mi.Module);
-
-                               UpdateAssemblyVersionForAssemblyInfo (node, me, new[] { GetAssemblyVersion (mi.Module.Assembly) }, add: true);
-                       }
-               }
-               else {
-                       ClearElement (me, "AssemblyInfo");
-               }
-
-               MakeAttributes (me, GetCustomAttributes (mi), mi.DeclaringType);
-
-               MakeReturnValue(me, mi, MDocUpdater.HasDroppedNamespace(mi));
-               if (mi is MethodReference) {
-                       MethodReference mb = (MethodReference) mi;
-                       if (mb.IsGenericMethod ())
-                                       MakeTypeParameters (me, mb.GenericParameters, mi, MDocUpdater.HasDroppedNamespace(mi));
-               }
-               MakeParameters(me, mi, MDocUpdater.HasDroppedNamespace(mi));
-               
-               string fieldValue;
-               if (mi is FieldDefinition && GetFieldConstValue ((FieldDefinition)mi, out fieldValue))
-                       WriteElementText(me, "MemberValue", fieldValue);
-               
-               info.Node = WriteElement (me, "Docs");
-               MakeDocNode (info);
-               OrderMemberNodes (me, me.ChildNodes);
-               UpdateExtensionMethods (me, info);
-       }
-
-       static void AddXmlNode (XmlElement[] relevant, Func<XmlElement, bool> valueMatches, Action<XmlElement> setValue, Func<XmlElement> makeNewNode, MemberReference member) {
-               AddXmlNode (relevant, valueMatches, setValue, makeNewNode, member.Module);
-       }
-
-       static void AddXmlNode (XmlElement[] relevant, Func<XmlElement, bool> valueMatches, Action<XmlElement> setValue, Func<XmlElement> makeNewNode, TypeDefinition type) {
-               AddXmlNode (relevant, valueMatches, setValue, makeNewNode, type.Module);
-       }
-
-       static XmlElement AddAssemblyXmlNode (XmlElement[] relevant, Func<XmlElement, bool> valueMatches, Action<XmlElement> setValue, Func<XmlElement> makeNewNode, ModuleDefinition module)
-       {
-               bool isUnified = MDocUpdater.HasDroppedNamespace (module);
-               XmlElement thisAssemblyNode = relevant.FirstOrDefault (valueMatches);
-               if (thisAssemblyNode == null) {
-                       thisAssemblyNode = makeNewNode ();
-               }
-               setValue (thisAssemblyNode);
-
-               if (isUnified) {
-                       thisAssemblyNode.AddApiStyle (ApiStyle.Unified);
-
-                       foreach (var otherNodes in relevant.Where (n => n != thisAssemblyNode && n.DoesNotHaveApiStyle (ApiStyle.Unified))) {
-                               otherNodes.AddApiStyle (ApiStyle.Classic);
-                       }
-               }
-               return thisAssemblyNode;
-       }
-
-       /// <summary>Adds an xml node, reusing the node if it's available</summary>
-       /// <param name="relevant">The existing set of nodes</param>
-       /// <param name="valueMatches">Checks to see if the node's value matches what you're trying to write.</param>
-       /// <param name="setValue">Sets the node's value</param>
-       /// <param name="makeNewNode">Creates a new node, if valueMatches returns false.</param>
-       static void AddXmlNode (XmlElement[] relevant, Func<XmlElement, bool> valueMatches, Action<XmlElement> setValue, Func<XmlElement> makeNewNode, ModuleDefinition module)
-       {
-               bool shouldDuplicate = MDocUpdater.HasDroppedNamespace (module);
-               var styleToUse = shouldDuplicate ? ApiStyle.Unified : ApiStyle.Classic;
-               var existing = relevant;
-               bool done = false;
-               bool addedOldApiStyle = false;
-
-               if (shouldDuplicate) {
-                       existing = existing.Where (n => n.HasApiStyle (styleToUse)).ToArray ();
-                       foreach (var n in relevant.Where (n => n.DoesNotHaveApiStyle (styleToUse))) {
-                               if (valueMatches (n)) {
-                                       done = true;
-                               }
-                               else {
-                                       n.AddApiStyle (ApiStyle.Classic);
-                                       addedOldApiStyle = true;
-                               }
-                       }
-               }
-               if (!done) {
-                       if (!existing.Any ()) {
-                               var newNode = makeNewNode ();
-                               if (shouldDuplicate && addedOldApiStyle) {
-                                       newNode.AddApiStyle (ApiStyle.Unified);
-                               }
-                       }
-                       else {
-                               var itemToReuse = existing.First ();
-                               setValue (itemToReuse);
-                               
-                               if (shouldDuplicate && addedOldApiStyle) {
-                                       itemToReuse.AddApiStyle (styleToUse);
-                               }
-                       }
-               }
-       }
-
-       static readonly string[] MemberNodeOrder = {
-               "MemberSignature",
-               "MemberType",
-               "AssemblyInfo",
-               "Attributes",
-               "ReturnValue",
-               "TypeParameters",
-               "Parameters",
-               "MemberValue",
-               "Docs",
-               "Excluded",
-               "ExcludedLibrary",
-               "Link",
-       };
-
-       static void OrderMemberNodes (XmlNode member, XmlNodeList children)
-       {
-               ReorderNodes (member, children, MemberNodeOrder);
-       }
-
-       static void ReorderNodes (XmlNode node, XmlNodeList children, string[] ordering)
-       {
-               MyXmlNodeList newChildren = new MyXmlNodeList (children.Count);
-               for (int i = 0; i < ordering.Length; ++i) {
-                       for (int j = 0; j < children.Count; ++j) {
-                               XmlNode c = children [j];
-                               if (c.Name == ordering [i]) {
-                                       newChildren.Add (c);
-                               }
-                       }
-               }
-               if (newChildren.Count >= 0)
-                       node.PrependChild ((XmlNode) newChildren [0]);
-               for (int i = 1; i < newChildren.Count; ++i) {
-                       XmlNode prev = (XmlNode) newChildren [i-1];
-                       XmlNode cur  = (XmlNode) newChildren [i];
-                       node.RemoveChild (cur);
-                       node.InsertAfter (cur, prev);
-               }
-       }
-
-       IEnumerable<string> GetCustomAttributes (MemberReference mi)
-       {
-               IEnumerable<string> attrs = Enumerable.Empty<string>();
-
-               ICustomAttributeProvider p = mi as ICustomAttributeProvider;
-               if (p != null)
-                       attrs = attrs.Concat (GetCustomAttributes (p.CustomAttributes, ""));
-
-               PropertyDefinition pd = mi as PropertyDefinition;
-               if (pd != null) {
-                       if (pd.GetMethod != null)
-                               attrs = attrs.Concat (GetCustomAttributes (pd.GetMethod.CustomAttributes, "get: "));
-                       if (pd.SetMethod != null)
-                               attrs = attrs.Concat (GetCustomAttributes (pd.SetMethod.CustomAttributes, "set: "));
-               }
-
-               EventDefinition ed = mi as EventDefinition;
-               if (ed != null) {
-                       if (ed.AddMethod != null)
-                               attrs = attrs.Concat (GetCustomAttributes (ed.AddMethod.CustomAttributes, "add: "));
-                       if (ed.RemoveMethod != null)
-                               attrs = attrs.Concat (GetCustomAttributes (ed.RemoveMethod.CustomAttributes, "remove: "));
-               }
-
-               return attrs;
-       }
-
-       IEnumerable<string> GetCustomAttributes (IList<CustomAttribute> attributes, string prefix)
-       {
-               foreach (CustomAttribute attribute in attributes.OrderBy (ca => ca.AttributeType.FullName)) {
-
-                       TypeDefinition attrType = attribute.AttributeType as TypeDefinition;
-                       if (attrType != null && !IsPublic (attrType))
-                               continue;
-                       if (slashdocFormatter.GetName (attribute.AttributeType) == null)
-                               continue;
-                       
-                       if (Array.IndexOf (IgnorableAttributes, attribute.AttributeType.FullName) >= 0)
-                               continue;
-                       
-                       StringList fields = new StringList ();
-
-                       for (int i = 0; i < attribute.ConstructorArguments.Count; ++i) {
-                               CustomAttributeArgument argument = attribute.ConstructorArguments [i];
-                               fields.Add (MakeAttributesValueString (
-                                               argument.Value,
-                                               argument.Type));
-                       }
-                       var namedArgs =
-                               (from namedArg in attribute.Fields
-                                select new { Type=namedArg.Argument.Type, Name=namedArg.Name, Value=namedArg.Argument.Value })
-                               .Concat (
-                                               (from namedArg in attribute.Properties
-                                                select new { Type=namedArg.Argument.Type, Name=namedArg.Name, Value=namedArg.Argument.Value }))
-                               .OrderBy (v => v.Name);
-                       foreach (var d in namedArgs)
-                               fields.Add (string.Format ("{0}={1}", d.Name, 
-                                               MakeAttributesValueString (d.Value, d.Type)));
-
-                       string a2 = String.Join(", ", fields.ToArray ());
-                       if (a2 != "") a2 = "(" + a2 + ")";
-
-                       string name = attribute.GetDeclaringType();
-                       if (name.EndsWith("Attribute")) name = name.Substring(0, name.Length-"Attribute".Length);
-                       yield return prefix + name + a2;
-               }
-       }
-
-       static readonly string[] ValidExtensionMembers = {
-               "Docs",
-               "MemberSignature",
-               "MemberType",
-               "Parameters",
-               "ReturnValue",
-               "TypeParameters",
-       };
-
-       static readonly string[] ValidExtensionDocMembers = {
-               "param",
-               "summary",
-               "typeparam",
-       };
-
-       private void UpdateExtensionMethods (XmlElement e, DocsNodeInfo info)
-       {
-               MethodDefinition me = info.Member as MethodDefinition;
-               if (me == null)
-                       return;
-               if (info.Parameters.Count < 1)
-                       return;
-               if (!DocUtils.IsExtensionMethod (me))
-                       return;
-
-               XmlNode em = e.OwnerDocument.CreateElement ("ExtensionMethod");
-               XmlNode member = e.CloneNode (true);
-               em.AppendChild (member);
-               RemoveExcept (member, ValidExtensionMembers);
-               RemoveExcept (member.SelectSingleNode ("Docs"), ValidExtensionDocMembers);
-               WriteElementText (member, "MemberType", "ExtensionMethod");
-               XmlElement link = member.OwnerDocument.CreateElement ("Link");
-               link.SetAttribute ("Type", slashdocFormatter.GetName (me.DeclaringType));
-               link.SetAttribute ("Member", slashdocFormatter.GetDeclaration (me));
-               member.AppendChild (link);
-               AddTargets (em, info);
-
-               var sig = em.SelectSingleNode ("Member/MemberSignature[@Language='C#']/@Value");
-               if (!IsMultiAssembly || (IsMultiAssembly && sig != null && !extensionMethods.Any (ex => ex.SelectSingleNode ("Member/MemberSignature[@Language='C#']/@Value").Value == sig.Value))) {
-                       extensionMethods.Add (em);
-               }
-       }
-
-       private static void RemoveExcept (XmlNode node, string[] except)
-       {
-               if (node == null)
-                       return;
-               MyXmlNodeList remove = null;
-               foreach (XmlNode n in node.ChildNodes) {
-                       if (Array.BinarySearch (except, n.Name) < 0) {
-                               if (remove == null)
-                                       remove = new MyXmlNodeList ();
-                               remove.Add (n);
-                       }
-               }
-               if (remove != null)
-                       foreach (XmlNode n in remove)
-                               node.RemoveChild (n);
-       }
-
-       private static void AddTargets (XmlNode member, DocsNodeInfo info)
-       {
-               XmlElement targets = member.OwnerDocument.CreateElement ("Targets");
-               member.PrependChild (targets);
-               if (!(info.Parameters [0].ParameterType is GenericParameter)) {
-                       AppendElementAttributeText (targets, "Target", "Type",
-                               slashdocFormatter.GetDeclaration (info.Parameters [0].ParameterType));
-               }
-               else {
-                       GenericParameter gp = (GenericParameter) info.Parameters [0].ParameterType;
-                       IList<TypeReference> constraints = gp.Constraints;
-                       if (constraints.Count == 0)
-                               AppendElementAttributeText (targets, "Target", "Type", "System.Object");
-                       else
-                               foreach (TypeReference c in constraints)
-                                       AppendElementAttributeText(targets, "Target", "Type",
-                                               slashdocFormatter.GetDeclaration (c));
-               }
-       }
-       
-       private static bool GetFieldConstValue (FieldDefinition field, out string value)
-       {
-               value = null;
-               TypeDefinition type = field.DeclaringType.Resolve ();
-               if (type != null && type.IsEnum) return false;
-               
-               if (type != null && type.IsGenericType ()) return false;
-               if (!field.HasConstant)
-                       return false;
-               if (field.IsLiteral) {
-                       object val = field.Constant;
-                       if (val == null) value = "null";
-                       else if (val is Enum) value = val.ToString();
-                       else if (val is IFormattable) {
-                               value = ((IFormattable)val).ToString(null, CultureInfo.InvariantCulture);
-                               if (val is string)
-                                       value = "\"" + value + "\"";
-                       }
-                       if (value != null && value != "")
-                               return true;
-               }
-               return false;
-       }
-       
-       // XML HELPER FUNCTIONS
-       
-       internal static XmlElement WriteElement(XmlNode parent, string element, bool forceNewElement = false) {
-               XmlElement ret = (XmlElement)parent.SelectSingleNode(element);
-               if (ret == null || forceNewElement) {
-                       string[] path = element.Split('/');
-                       foreach (string p in path) {
-                               ret = (XmlElement)parent.SelectSingleNode(p);
-                               if (ret == null || forceNewElement) {
-                                       string ename = p;
-                                       if (ename.IndexOf('[') >= 0) // strip off XPath predicate
-                                               ename = ename.Substring(0, ename.IndexOf('['));
-                                       ret = parent.OwnerDocument.CreateElement(ename);
-                                       parent.AppendChild(ret);
-                                       parent = ret;
-                               } else {
-                                       parent = ret;
-                               }
-                       }
-               }
-               return ret;
-       }
-       private static XmlElement WriteElementText(XmlNode parent, string element, string value, bool forceNewElement = false) {
-               XmlElement node = WriteElement(parent, element, forceNewElement: forceNewElement);
-               node.InnerText = value;
-               return node;
-       }
-
-       static XmlElement AppendElementText (XmlNode parent, string element, string value)
-       {
-               XmlElement n = parent.OwnerDocument.CreateElement (element);
-               parent.AppendChild (n);
-               n.InnerText = value;
-               return n;
-       }
-
-       static XmlElement AppendElementAttributeText (XmlNode parent, string element, string attribute, string value)
-       {
-               XmlElement n = parent.OwnerDocument.CreateElement (element);
-               parent.AppendChild (n);
-               n.SetAttribute (attribute, value);
-               return n;
-       }
-
-       internal static XmlNode CopyNode (XmlNode source, XmlNode dest)
-       {
-               XmlNode copy = dest.OwnerDocument.ImportNode (source, true);
-               dest.AppendChild (copy);
-               return copy;
-       }
-
-       private static void WriteElementInitialText(XmlElement parent, string element, string value) {
-               XmlElement node = (XmlElement)parent.SelectSingleNode(element);
-               if (node != null)
-                       return;
-               node = WriteElement(parent, element);
-               node.InnerText = value;
-       }
-       private static XmlElement WriteElementAttribute(XmlElement parent, string element, string attribute, string value, bool forceNewElement = false) {
-               XmlElement node = WriteElement(parent, element, forceNewElement:forceNewElement);
-               return WriteElementAttribute (parent, node, attribute, value);
-       }
-       private static XmlElement WriteElementAttribute(XmlElement parent, XmlElement node, string attribute, string value) {
-               if (node.GetAttribute (attribute) != value) {
-                       node.SetAttribute (attribute, value);
-               }
-               return node;
-       }
-       internal static void ClearElement(XmlElement parent, string name) {
-               XmlElement node = (XmlElement)parent.SelectSingleNode(name);
-               if (node != null)
-                       parent.RemoveChild(node);
-       }
-       
-       // DOCUMENTATION HELPER FUNCTIONS
-       
-       private void MakeDocNode (DocsNodeInfo info)
-       {
-               List<GenericParameter> genericParams      = info.GenericParameters;
-               IList<ParameterDefinition> parameters  = info.Parameters;
-               TypeReference returntype                  = info.ReturnType;
-               bool returnisreturn         = info.ReturnIsReturn;
-               XmlElement e                = info.Node;
-               bool addremarks             = info.AddRemarks;
-
-               WriteElementInitialText(e, "summary", "To be added.");
-               
-               if (parameters != null) {
-                       string[] values = new string [parameters.Count];
-                       for (int i = 0; i < values.Length; ++i)
-                               values [i] = parameters [i].Name;
-                       UpdateParameters (e, "param", values);
-               }
-
-               if (genericParams != null) {
-                       string[] values = new string [genericParams.Count];
-                       for (int i = 0; i < values.Length; ++i)
-                               values [i] = genericParams [i].Name;
-                       UpdateParameters (e, "typeparam", values);
-               }
-
-               string retnodename = null;
-               if (returntype != null && returntype.FullName != "System.Void") { // FIXME
-                       retnodename = returnisreturn ? "returns" : "value";
-                       string retnodename_other = !returnisreturn ? "returns" : "value";
-                       
-                       // If it has a returns node instead of a value node, change its name.
-                       XmlElement retother = (XmlElement)e.SelectSingleNode(retnodename_other);
-                       if (retother != null) {
-                               XmlElement retnode = e.OwnerDocument.CreateElement(retnodename);
-                               foreach (XmlNode node in retother)
-                                       retnode.AppendChild(node.CloneNode(true));
-                               e.ReplaceChild(retnode, retother);
-                       } else {
-                               WriteElementInitialText(e, retnodename, "To be added.");
-                       }
-               } else {
-                       ClearElement(e, "returns");
-                       ClearElement(e, "value");
-               }
-
-               if (addremarks)
-                       WriteElementInitialText(e, "remarks", "To be added.");
-
-               if (exceptions.HasValue && info.Member != null &&
-                               (exceptions.Value & ExceptionLocations.AddedMembers) == 0) {
-                       UpdateExceptions (e, info.Member);
-               }
-
-               foreach (DocumentationImporter importer in importers)
-                       importer.ImportDocumentation (info);
-               
-               OrderDocsNodes (e, e.ChildNodes);
-               NormalizeWhitespace(e);
-       }
-
-       static readonly string[] DocsNodeOrder = {
-               "typeparam", "param", "summary", "returns", "value", "remarks",
-       };
-
-       private static void OrderDocsNodes (XmlNode docs, XmlNodeList children)
-       {
-               ReorderNodes (docs, children, DocsNodeOrder);
-       }
-       
-
-       private void UpdateParameters (XmlElement e, string element, string[] values)
-       {       
-               if (values != null) {
-                       XmlNode[] paramnodes = new XmlNode[values.Length];
-                       
-                       // Some documentation had param nodes with leading spaces.
-                       foreach (XmlElement paramnode in e.SelectNodes(element)){
-                               paramnode.SetAttribute("name", paramnode.GetAttribute("name").Trim());
-                       }
-                       
-                       // If a member has only one parameter, we can track changes to
-                       // the name of the parameter easily.
-                       if (values.Length == 1 && e.SelectNodes(element).Count == 1) {
-                               UpdateParameterName (e, (XmlElement) e.SelectSingleNode(element), values [0]);
-                       }
-
-                       bool reinsert = false;
-
-                       // Pick out existing and still-valid param nodes, and
-                       // create nodes for parameters not in the file.
-                       Hashtable seenParams = new Hashtable();
-                       for (int pi = 0; pi < values.Length; pi++) {
-                               string p = values [pi];
-                               seenParams[p] = pi;
-                               
-                               paramnodes[pi] = e.SelectSingleNode(element + "[@name='" + p + "']");
-                               if (paramnodes[pi] != null) continue;
-                               
-                               XmlElement pe = e.OwnerDocument.CreateElement(element);
-                               pe.SetAttribute("name", p);
-                               pe.InnerText = "To be added.";
-                               paramnodes[pi] = pe;
-                               reinsert = true;
-                       }
-
-                       // Remove parameters that no longer exist and check all params are in the right order.
-                       int idx = 0;
-                       MyXmlNodeList todelete = new MyXmlNodeList ();
-                       foreach (XmlElement paramnode in e.SelectNodes(element)) {
-                               string name = paramnode.GetAttribute("name");
-                               if (!seenParams.ContainsKey(name)) {
-                                       if (!delete && !paramnode.InnerText.StartsWith("To be added")) {
-                                               Warning ("The following param node can only be deleted if the --delete option is given: ");
-                                               if (e.ParentNode == e.OwnerDocument.DocumentElement) {
-                                                       // delegate type
-                                                       Warning ("\tXPath=/Type[@FullName=\"{0}\"]/Docs/param[@name=\"{1}\"]",
-                                                                       e.OwnerDocument.DocumentElement.GetAttribute ("FullName"),
-                                                                       name);
-                                               }
-                                               else {
-                                                       Warning ("\tXPath=/Type[@FullName=\"{0}\"]//Member[@MemberName=\"{1}\"]/Docs/param[@name=\"{2}\"]",
-                                                                       e.OwnerDocument.DocumentElement.GetAttribute ("FullName"),
-                                                                       e.ParentNode.Attributes ["MemberName"].Value, 
-                                                                       name);
-                                               }
-                                               Warning ("\tValue={0}", paramnode.OuterXml);
-                                       } else {
-                                               todelete.Add (paramnode);
-                                       }
-                                       continue;
-                               }
-
-                               if ((int)seenParams[name] != idx)
-                                       reinsert = true;
-                               
-                               idx++;
-                       }
-
-                       foreach (XmlNode n in todelete) {
-                               n.ParentNode.RemoveChild (n);
-                       }
-                       
-                       // Re-insert the parameter nodes at the top of the doc section.
-                       if (reinsert)
-                               for (int pi = values.Length-1; pi >= 0; pi--)
-                                       e.PrependChild(paramnodes[pi]);
-               } else {
-                       // Clear all existing param nodes
-                       foreach (XmlNode paramnode in e.SelectNodes(element)) {
-                               if (!delete && !paramnode.InnerText.StartsWith("To be added")) {
-                                       Console.WriteLine("The following param node can only be deleted if the --delete option is given:");
-                                       Console.WriteLine(paramnode.OuterXml);
-                               } else {
-                                       paramnode.ParentNode.RemoveChild(paramnode);
-                               }
-                       }
-               }
-       }
-
-       private static void UpdateParameterName (XmlElement docs, XmlElement pe, string newName)
-       {
-               string existingName = pe.GetAttribute ("name");
-               pe.SetAttribute ("name", newName);
-               if (existingName == newName)
-                       return;
-               foreach (XmlElement paramref in docs.SelectNodes (".//paramref"))
-                       if (paramref.GetAttribute ("name").Trim () == existingName)
-                               paramref.SetAttribute ("name", newName);
-       }
-
-       class CrefComparer : XmlNodeComparer {
-
-               public CrefComparer ()
-               {
-               }
-
-               public override int Compare (XmlNode x, XmlNode y)
-               {
-                       string xType = x.Attributes ["cref"].Value;
-                       string yType = y.Attributes ["cref"].Value;
-                       string xNamespace = GetNamespace (xType);
-                       string yNamespace = GetNamespace (yType);
-
-                       int c = xNamespace.CompareTo (yNamespace);
-                       if (c != 0)
-                               return c;
-                       return xType.CompareTo (yType);
-               }
-
-               static string GetNamespace (string type)
-               {
-                       int n = type.LastIndexOf ('.');
-                       if (n >= 0)
-                               return type.Substring (0, n);
-                       return string.Empty;
-               }
-       }
-       
-       private void UpdateExceptions (XmlNode docs, MemberReference member)
-       {
-               string indent = new string (' ', 10);
-               foreach (var source in new ExceptionLookup (exceptions.Value)[member]) {
-                       string cref = slashdocFormatter.GetDeclaration (source.Exception);
-                       var node = docs.SelectSingleNode ("exception[@cref='" + cref + "']");
-                       if (node != null)
-                               continue;
-                       XmlElement e = docs.OwnerDocument.CreateElement ("exception");
-                       e.SetAttribute ("cref", cref);
-                       e.InnerXml = "To be added; from:\n" + indent + "<see cref=\"" +
-                               string.Join ("\" />,\n" + indent + "<see cref=\"",
-                                               source.Sources.Select (m => slashdocFormatter.GetDeclaration (m))
-                                               .OrderBy (s => s)) +
-                               "\" />";
-                       docs.AppendChild (e);
-               }
-               SortXmlNodes (docs, docs.SelectNodes ("exception"), 
-                               new CrefComparer ());
-       }
-
-       private static void NormalizeWhitespace(XmlElement e) {
-               // Remove all text and whitespace nodes from the element so it
-               // is outputted with nice indentation and no blank lines.
-               ArrayList deleteNodes = new ArrayList();
-               foreach (XmlNode n in e)
-                       if (n is XmlText || n is XmlWhitespace || n is XmlSignificantWhitespace)
-                               deleteNodes.Add(n);
-               foreach (XmlNode n in deleteNodes)
-                               n.ParentNode.RemoveChild(n);
-       }
-       
-       private bool UpdateAssemblyVersions (XmlElement root, MemberReference member, bool add)
-       {
-               TypeDefinition type = member as TypeDefinition;
-               if (type == null)
-                       type = member.DeclaringType as TypeDefinition;
-
-               var versions = new string[] { GetAssemblyVersion (type.Module.Assembly) };
-
-               if (root.LocalName == "AssemblyInfo")
-                       return UpdateAssemblyVersionForAssemblyInfo (root, root.ParentNode as XmlElement, versions, add: true);
-               else 
-                       return UpdateAssemblyVersions (root, type.Module.Assembly, versions, add);
-       }
-       
-       private static string GetAssemblyVersion (AssemblyDefinition assembly)
-       {
-               return assembly.Name.Version.ToString();
-       }
-       
-       private bool UpdateAssemblyVersions(XmlElement root, AssemblyDefinition assembly, string[] assemblyVersions, bool add)
-       {
-               if (IsMultiAssembly)
-                       return false;
-                       
-               XmlElement av = (XmlElement) root.SelectSingleNode ("AssemblyVersions");
-               if (av != null) {
-                               // AssemblyVersions is not part of the spec
-                               root.RemoveChild (av);
-               }
-
-               string oldNodeFilter = "AssemblyInfo[not(@apistyle) or @apistyle='classic']";
-               string newNodeFilter = "AssemblyInfo[@apistyle='unified']";
-               string thisNodeFilter = MDocUpdater.HasDroppedNamespace (assembly) ? newNodeFilter : oldNodeFilter;
-               string thatNodeFilter = MDocUpdater.HasDroppedNamespace (assembly) ? oldNodeFilter : newNodeFilter;
-
-               XmlElement e = (XmlElement) root.SelectSingleNode (thisNodeFilter);
-               if (e == null) {
-                       e = root.OwnerDocument.CreateElement("AssemblyInfo");
-
-                       if (MDocUpdater.HasDroppedNamespace (assembly)) {
-                               e.AddApiStyle (ApiStyle.Unified);
-                       }
-
-                       root.AppendChild(e);
-               }
-
-               var thatNode = (XmlElement) root.SelectSingleNode (thatNodeFilter);
-               if (MDocUpdater.HasDroppedNamespace (assembly) && thatNode != null) {
-                       // there's a classic node, we should add apistyles
-                       e.AddApiStyle (ApiStyle.Unified);
-                       thatNode.AddApiStyle (ApiStyle.Classic);
-               }
-
-               return UpdateAssemblyVersionForAssemblyInfo (e, root, assemblyVersions, add);
-       }
-
-       static bool UpdateAssemblyVersionForAssemblyInfo (XmlElement e, XmlElement root, string[] assemblyVersions, bool add)
-       {
-               List<XmlNode> matches = e.SelectNodes ("AssemblyVersion").Cast<XmlNode> ().Where (v => Array.IndexOf (assemblyVersions, v.InnerText) >= 0).ToList ();
-               // matches.Count > 0 && add: ignore -- already present
-               if (matches.Count > 0 && !add) {
-                       foreach (XmlNode c in matches)
-                               e.RemoveChild (c);
-               }
-               else if (matches.Count == 0 && add) {
-                       foreach (string sv in assemblyVersions) {
-                               XmlElement c = root.OwnerDocument.CreateElement("AssemblyVersion");
-                               c.InnerText = sv;
-                               e.AppendChild(c);
-                       }
-               }
-
-               // matches.Count == 0 && !add: ignore -- already not present
-               XmlNodeList avs = e.SelectNodes ("AssemblyVersion");
-               SortXmlNodes (e, avs, new VersionComparer ());
-
-               bool anyNodesLeft = avs.Count != 0;
-               if (!anyNodesLeft) {
-                       e.ParentNode.RemoveChild (e);
-               }
-               return anyNodesLeft;
-       }
-
-       // FIXME: get TypeReferences instead of string comparison?
-       private static string[] IgnorableAttributes = {
-               // Security related attributes
-               "System.Reflection.AssemblyKeyFileAttribute",
-               "System.Reflection.AssemblyDelaySignAttribute",
-               // Present in @RefType
-               "System.Runtime.InteropServices.OutAttribute",
-               // For naming the indexer to use when not using indexers
-               "System.Reflection.DefaultMemberAttribute",
-               // for decimal constants
-               "System.Runtime.CompilerServices.DecimalConstantAttribute",
-               // compiler generated code
-               "System.Runtime.CompilerServices.CompilerGeneratedAttribute",
-               // more compiler generated code, e.g. iterator methods
-               "System.Diagnostics.DebuggerHiddenAttribute",
-               "System.Runtime.CompilerServices.FixedBufferAttribute",
-               "System.Runtime.CompilerServices.UnsafeValueTypeAttribute",
-               // extension methods
-               "System.Runtime.CompilerServices.ExtensionAttribute",
-               // Used to differentiate 'object' from C#4 'dynamic'
-               "System.Runtime.CompilerServices.DynamicAttribute",
-       };
-
-       private void MakeAttributes (XmlElement root, IEnumerable<string> attributes, TypeReference t=null)
-       {
-               if (!attributes.Any ()) {
-                       ClearElement (root, "Attributes");
-                       return;
-               }
-
-               XmlElement e = (XmlElement)root.SelectSingleNode("Attributes");
-               if (e != null)
-                       e.RemoveAll();
-               else if (e == null)
-                       e = root.OwnerDocument.CreateElement("Attributes");
-               
-               foreach (string attribute in attributes) {
-                       XmlElement ae = root.OwnerDocument.CreateElement("Attribute");
-                       e.AppendChild(ae);
-                       
-                       WriteElementText(ae, "AttributeName", attribute);
-               }
-               
-               if (e.ParentNode == null)
-                       root.AppendChild(e);
-
-               NormalizeWhitespace(e);
-       }
-
-       public static string MakeAttributesValueString (object v, TypeReference valueType)
-       {
-               var formatters = new [] { 
-                       new AttributeValueFormatter (), 
-                       new ApplePlatformEnumFormatter (), 
-                       new StandardFlagsEnumFormatter (), 
-                       new DefaultAttributeValueFormatter (),
-               };
-
-               ResolvedTypeInfo type = new ResolvedTypeInfo (valueType);
-               foreach (var formatter in formatters) {
-                       string formattedValue;
-                       if (formatter.TryFormatValue (v, type, out formattedValue)) {
-                               return formattedValue;
-                       }
-               }
-
-               // this should never occur because the DefaultAttributeValueFormatter will always
-               // successfully format the value ... but this is needed to satisfy the compiler :)
-               throw new InvalidDataException (string.Format ("Unable to format attribute value ({0})", v.ToString ()));
-       }
-
-       internal static IDictionary<long, string> GetEnumerationValues (TypeDefinition type)
-       {
-               var values = new Dictionary<long, string> ();
-               foreach (var f in 
-                               (from f in type.Fields
-                                where !(f.IsRuntimeSpecialName || f.IsSpecialName)
-                                select f)) {
-                       values [ToInt64 (f.Constant)] = f.Name;
-               }
-               return values;
-       }
-
-       internal static long ToInt64 (object value)
-       {
-               if (value is ulong)
-                       return (long) (ulong) value;
-               return Convert.ToInt64 (value);
-       }
-       
-       private void MakeParameters (XmlElement root, MemberReference member, IList<ParameterDefinition> parameters, bool shouldDuplicateWithNew=false)
-       {
-               XmlElement e = WriteElement(root, "Parameters");
-
-               int i = 0;
-               foreach (ParameterDefinition p in parameters) {
-                       XmlElement pe;
-                       
-                       // param info
-                       var ptype = GetDocParameterType (p.ParameterType);
-                       var newPType = ptype;
-
-                       if (MDocUpdater.SwitchingToMagicTypes) {
-                               newPType = NativeTypeManager.ConvertFromNativeType (ptype);
-                       }
-
-                       // now find the existing node, if it's there so we can reuse it.
-                       var nodes = root.SelectSingleNode ("Parameters").SelectNodes ("Parameter")
-                               .Cast<XmlElement> ().Where (x => x.GetAttribute ("Name") == p.Name)
-                               .ToArray();
-
-                       if (nodes.Count () == 0) {
-                               // wasn't found, let's make sure it wasn't just cause the param name was changed
-                               nodes = root.SelectSingleNode ("Parameters").SelectNodes ("Parameter")
-                                       .Cast<XmlElement> ()
-                                       .Skip (i) // this makes sure we don't inadvertently "reuse" nodes when adding new ones
-                                       .Where (x => x.GetAttribute ("Name") != p.Name && (x.GetAttribute ("Type") == ptype || x.GetAttribute ("Type") == newPType))
-                                       .Take(1) // there might be more than one that meets this parameter ... only take the first.
-                                       .ToArray();
-                       }
-
-                       AddXmlNode (nodes, 
-                               x => x.GetAttribute ("Type") == ptype,
-                               x => x.SetAttribute ("Type", ptype),
-                               () => {
-                                       pe = root.OwnerDocument.CreateElement ("Parameter");
-                                       e.AppendChild (pe);
-
-                                       pe.SetAttribute ("Name", p.Name);
-                                       pe.SetAttribute ("Type", ptype);
-                                       if (p.ParameterType is ByReferenceType) {
-                                               if (p.IsOut)
-                                                       pe.SetAttribute ("RefType", "out");
-                                               else
-                                                       pe.SetAttribute ("RefType", "ref");
-                                       }
-
-                                       MakeAttributes (pe, GetCustomAttributes (p.CustomAttributes, ""));
-                                       return pe;
-                               },
-                               member);
-
-                       i++;
-               }
-       }
-       
-       private void MakeTypeParameters (XmlElement root, IList<GenericParameter> typeParams, MemberReference member, bool shouldDuplicateWithNew)
-       {
-               if (typeParams == null || typeParams.Count == 0) {
-                       XmlElement f = (XmlElement) root.SelectSingleNode ("TypeParameters");
-                       if (f != null)
-                               root.RemoveChild (f);
-                       return;
-               }
-               XmlElement e = WriteElement(root, "TypeParameters");
-
-               var nodes = e.SelectNodes ("TypeParameter").Cast<XmlElement> ().ToArray ();
-
-               foreach (GenericParameter t in typeParams) {
-
-                               IList<TypeReference> constraints = t.Constraints;
-                               GenericParameterAttributes attrs = t.Attributes;
-
-
-                               AddXmlNode (
-                                       nodes,
-                                       x => { 
-                                               var baseType = e.SelectSingleNode("BaseTypeName");
-                                               // TODO: should this comparison take into account BaseTypeName?
-                                               return x.GetAttribute("Name") == t.Name;
-                                       },
-                                       x => {}, // no additional action required
-                                       () => {
-
-                                               XmlElement pe = root.OwnerDocument.CreateElement("TypeParameter");
-                                               e.AppendChild(pe);
-                                               pe.SetAttribute("Name", t.Name);
-                                                       MakeAttributes (pe, GetCustomAttributes (t.CustomAttributes, ""), t.DeclaringType);
-                                               XmlElement ce = (XmlElement) e.SelectSingleNode ("Constraints");
-                                               if (attrs == GenericParameterAttributes.NonVariant && constraints.Count == 0) {
-                                                       if (ce != null)
-                                                               e.RemoveChild (ce);
-                                                       return pe;
-                                               }
-                                               if (ce != null)
-                                                       ce.RemoveAll();
-                                               else {
-                                                       ce = root.OwnerDocument.CreateElement ("Constraints");
-                                               }
-                                               pe.AppendChild (ce);
-                                               if ((attrs & GenericParameterAttributes.Contravariant) != 0)
-                                                       AppendElementText (ce, "ParameterAttribute", "Contravariant");
-                                               if ((attrs & GenericParameterAttributes.Covariant) != 0)
-                                                       AppendElementText (ce, "ParameterAttribute", "Covariant");
-                                               if ((attrs & GenericParameterAttributes.DefaultConstructorConstraint) != 0)
-                                                       AppendElementText (ce, "ParameterAttribute", "DefaultConstructorConstraint");
-                                               if ((attrs & GenericParameterAttributes.NotNullableValueTypeConstraint) != 0)
-                                                       AppendElementText (ce, "ParameterAttribute", "NotNullableValueTypeConstraint");
-                                               if ((attrs & GenericParameterAttributes.ReferenceTypeConstraint) != 0)
-                                                       AppendElementText (ce, "ParameterAttribute", "ReferenceTypeConstraint");
-                                               foreach (TypeReference c in constraints) {
-                                                       TypeDefinition cd = c.Resolve ();
-                                                       AppendElementText (ce,
-                                                                       (cd != null && cd.IsInterface) ? "InterfaceName" : "BaseTypeName",
-                                                                       GetDocTypeFullName (c));
-                                               }
-                                       
-                                               return pe;
-                                       },
-                               member);
-               }
-       }
-
-       private void MakeParameters (XmlElement root, MemberReference mi, bool shouldDuplicateWithNew)
-       {
-               if (mi is MethodDefinition && ((MethodDefinition) mi).IsConstructor)
-                               MakeParameters (root, mi, ((MethodDefinition)mi).Parameters, shouldDuplicateWithNew);
-               else if (mi is MethodDefinition) {
-                       MethodDefinition mb = (MethodDefinition) mi;
-                       IList<ParameterDefinition> parameters = mb.Parameters;
-                               MakeParameters(root, mi, parameters, shouldDuplicateWithNew);
-                       if (parameters.Count > 0 && DocUtils.IsExtensionMethod (mb)) {
-                               XmlElement p = (XmlElement) root.SelectSingleNode ("Parameters/Parameter[position()=1]");
-                               p.SetAttribute ("RefType", "this");
-                       }
-               }
-               else if (mi is PropertyDefinition) {
-                       IList<ParameterDefinition> parameters = ((PropertyDefinition)mi).Parameters;
-                       if (parameters.Count > 0)
-                                       MakeParameters(root, mi, parameters, shouldDuplicateWithNew);
-                       else
-                               return;
-               }
-               else if (mi is FieldDefinition) return;
-               else if (mi is EventDefinition) return;
-               else throw new ArgumentException();
-       }
-
-       internal static string GetDocParameterType (TypeReference type)
-       {
-               return GetDocTypeFullName (type).Replace ("@", "&");
-       }
-
-       private void MakeReturnValue (XmlElement root, TypeReference type, IList<CustomAttribute> attributes, bool shouldDuplicateWithNew=false) 
-               {
-                       XmlElement e = WriteElement(root, "ReturnValue");
-                       var valueToUse = GetDocTypeFullName (type);
-
-                       AddXmlNode (e.SelectNodes("ReturnType").Cast<XmlElement> ().ToArray (),
-                               x => x.InnerText == valueToUse,
-                               x => x.InnerText = valueToUse,
-                               () => {
-                                       var newNode = WriteElementText(e, "ReturnType", valueToUse, forceNewElement: true);
-                                       if (attributes != null)
-                                               MakeAttributes(e, GetCustomAttributes (attributes, ""), type);
-
-                                       return newNode;
-                               },
-                       type);
-       }
-       
-       private void MakeReturnValue (XmlElement root, MemberReference mi, bool shouldDuplicateWithNew=false)
-       {
-               if (mi is MethodDefinition && ((MethodDefinition) mi).IsConstructor)
-                       return;
-               else if (mi is MethodDefinition)
-                       MakeReturnValue (root, ((MethodDefinition)mi).ReturnType, ((MethodDefinition)mi).MethodReturnType.CustomAttributes, shouldDuplicateWithNew);
-               else if (mi is PropertyDefinition)
-                       MakeReturnValue (root, ((PropertyDefinition)mi).PropertyType, null, shouldDuplicateWithNew);
-               else if (mi is FieldDefinition)
-                       MakeReturnValue (root, ((FieldDefinition)mi).FieldType, null, shouldDuplicateWithNew);
-               else if (mi is EventDefinition)
-                       MakeReturnValue (root, ((EventDefinition)mi).EventType, null, shouldDuplicateWithNew);
-               else
-                       throw new ArgumentException(mi + " is a " + mi.GetType().FullName);
-       }
-       
-       private XmlElement MakeMember(XmlDocument doc, DocsNodeInfo info)
-       {
-               MemberReference mi = info.Member;
-               if (mi is TypeDefinition) return null;
-
-               string sigs = memberFormatters [0].GetDeclaration (mi);
-               if (sigs == null) return null; // not publicly visible
-               
-               // no documentation for property/event accessors.  Is there a better way of doing this?
-               if (mi.Name.StartsWith("get_")) return null;
-               if (mi.Name.StartsWith("set_")) return null;
-               if (mi.Name.StartsWith("add_")) return null;
-               if (mi.Name.StartsWith("remove_")) return null;
-               if (mi.Name.StartsWith("raise_")) return null;
-               
-               XmlElement me = doc.CreateElement("Member");
-               me.SetAttribute("MemberName", GetMemberName (mi));
-
-               info.Node = me;
-               UpdateMember(info);
-               if (exceptions.HasValue && 
-                               (exceptions.Value & ExceptionLocations.AddedMembers) != 0)
-                       UpdateExceptions (info.Node, info.Member);
-
-               if (since != null) {
-                       XmlNode docs = me.SelectSingleNode("Docs");
-                       docs.AppendChild (CreateSinceNode (doc));
-               }
-               
-               return me;
-       }
-
-       internal static string GetMemberName (MemberReference mi)
-       {
-               MethodDefinition mb = mi as MethodDefinition;
-               if (mb == null) {
-                       PropertyDefinition pi = mi as PropertyDefinition;
-                       if (pi == null)
-                               return mi.Name;
-                       return DocUtils.GetPropertyName (pi);
-               }
-               StringBuilder sb = new StringBuilder (mi.Name.Length);
-               if (!DocUtils.IsExplicitlyImplemented (mb))
-                       sb.Append (mi.Name);
-               else {
-                       TypeReference iface;
-                       MethodReference ifaceMethod;
-                       DocUtils.GetInfoForExplicitlyImplementedMethod (mb, out iface, out ifaceMethod);
-                       sb.Append (GetDocTypeFullName (iface));
-                       sb.Append ('.');
-                       sb.Append (ifaceMethod.Name);
-               }
-               if (mb.IsGenericMethod ()) {
-                       IList<GenericParameter> typeParams = mb.GenericParameters;
-                       if (typeParams.Count > 0) {
-                               sb.Append ("<");
-                               sb.Append (typeParams [0].Name);
-                               for (int i = 1; i < typeParams.Count; ++i)
-                                       sb.Append (",").Append (typeParams [i].Name);
-                               sb.Append (">");
-                       }
-               }
-               return sb.ToString ();
-       }
-       
-       /// SIGNATURE GENERATION FUNCTIONS
-       internal static bool IsPrivate (MemberReference mi)
-       {
-               return memberFormatters [0].GetDeclaration (mi) == null;
-       }
-
-       internal static string GetMemberType (MemberReference mi)
-       {
-               if (mi is MethodDefinition && ((MethodDefinition) mi).IsConstructor)
-                       return "Constructor";
-               if (mi is MethodDefinition)
-                       return "Method";
-               if (mi is PropertyDefinition)
-                       return "Property";
-               if (mi is FieldDefinition)
-                       return "Field";
-               if (mi is EventDefinition)
-                       return "Event";
-               throw new ArgumentException();
-       }
-
-       private static string GetDocTypeName (TypeReference type)
-       {
-               return docTypeFormatter.GetName (type);
-       }
-
-       internal static string GetDocTypeFullName (TypeReference type)
-       {
-               return DocTypeFullMemberFormatter.Default.GetName (type);
-       }
-
-       internal static string GetXPathForMember (DocumentationMember member)
-       {
-               StringBuilder xpath = new StringBuilder ();
-               xpath.Append ("//Members/Member[@MemberName=\"")
-                       .Append (member.MemberName)
-                       .Append ("\"]");
-               if (member.Parameters != null && member.Parameters.Count > 0) {
-                       xpath.Append ("/Parameters[count(Parameter) = ")
-                               .Append (member.Parameters.Count);
-                       for (int i = 0; i < member.Parameters.Count; ++i) {
-                               xpath.Append (" and Parameter [").Append (i+1).Append ("]/@Type=\"");
-                               xpath.Append (member.Parameters [i]);
-                               xpath.Append ("\"");
-                       }
-                       xpath.Append ("]/..");
-               }
-               return xpath.ToString ();
-       }
-
-       public static string GetXPathForMember (XPathNavigator member)
-       {
-               StringBuilder xpath = new StringBuilder ();
-               xpath.Append ("//Type[@FullName=\"")
-                       .Append (member.SelectSingleNode ("../../@FullName").Value)
-                       .Append ("\"]/");
-               xpath.Append ("Members/Member[@MemberName=\"")
-                       .Append (member.SelectSingleNode ("@MemberName").Value)
-                       .Append ("\"]");
-               XPathNodeIterator parameters = member.Select ("Parameters/Parameter");
-               if (parameters.Count > 0) {
-                       xpath.Append ("/Parameters[count(Parameter) = ")
-                               .Append (parameters.Count);
-                       int i = 0;
-                       while (parameters.MoveNext ()) {
-                               ++i;
-                               xpath.Append (" and Parameter [").Append (i).Append ("]/@Type=\"");
-                               xpath.Append (parameters.Current.Value);
-                               xpath.Append ("\"");
-                       }
-                       xpath.Append ("]/..");
-               }
-               return xpath.ToString ();
-       }
-
-       public static string GetXPathForMember (MemberReference member)
-       {
-               StringBuilder xpath = new StringBuilder ();
-               xpath.Append ("//Type[@FullName=\"")
-                       .Append (member.DeclaringType.FullName)
-                       .Append ("\"]/");
-               xpath.Append ("Members/Member[@MemberName=\"")
-                       .Append (GetMemberName (member))
-                       .Append ("\"]");
-
-               IList<ParameterDefinition> parameters = null;
-               if (member is MethodDefinition)
-                       parameters = ((MethodDefinition) member).Parameters;
-               else if (member is PropertyDefinition) {
-                       parameters = ((PropertyDefinition) member).Parameters;
-               }
-               if (parameters != null && parameters.Count > 0) {
-                       xpath.Append ("/Parameters[count(Parameter) = ")
-                               .Append (parameters.Count);
-                       for (int i = 0; i < parameters.Count; ++i) {
-                               xpath.Append (" and Parameter [").Append (i+1).Append ("]/@Type=\"");
-                               xpath.Append (GetDocParameterType (parameters [i].ParameterType));
-                               xpath.Append ("\"");
-                       }
-                       xpath.Append ("]/..");
-               }
-               return xpath.ToString ();
-       }
-}
-
-static class CecilExtensions {
-       public static string GetDeclaringType(this CustomAttribute attribute)
-       {
-                       var type = attribute.Constructor.DeclaringType;
-                       var typeName = type.FullName;
-
-                       string translatedType = NativeTypeManager.GetTranslatedName (type);
-                       return translatedType;
-       }
-
-       public static IEnumerable<MemberReference> GetMembers (this TypeDefinition type)
-       {
-               foreach (var c in type.Methods.Where (m => m.IsConstructor))
-                       yield return (MemberReference) c;
-               foreach (var e in type.Events)
-                       yield return (MemberReference) e;
-               foreach (var f in type.Fields)
-                       yield return (MemberReference) f;
-               foreach (var m in type.Methods.Where (m => !m.IsConstructor))
-                       yield return (MemberReference) m;
-               foreach (var t in type.NestedTypes)
-                       yield return (MemberReference) t;
-               foreach (var p in type.Properties)
-                       yield return (MemberReference) p;
-       }
-
-       public static IEnumerable<MemberReference> GetMembers (this TypeDefinition type, string member)
-       {
-               return GetMembers (type).Where (m => m.Name == member);
-       }
-
-       public static MemberReference GetMember (this TypeDefinition type, string member)
-       {
-               return GetMembers (type, member).EnsureZeroOrOne ();
-       }
-
-       static T EnsureZeroOrOne<T> (this IEnumerable<T> source)
-       {
-               if (source.Count () > 1)
-                       throw new InvalidOperationException ("too many matches");
-               return source.FirstOrDefault ();
-       }
-
-       public static MethodDefinition GetMethod (this TypeDefinition type, string method)
-       {
-               return type.Methods
-                       .Where (m => m.Name == method)
-                       .EnsureZeroOrOne ();
-       }
-
-       public static IEnumerable<MemberReference> GetDefaultMembers (this TypeReference type)
-       {
-               TypeDefinition def = type as TypeDefinition;
-               if (def == null)
-                       return new MemberReference [0];
-               CustomAttribute defMemberAttr = def.CustomAttributes
-                               .FirstOrDefault (c => c.AttributeType.FullName == "System.Reflection.DefaultMemberAttribute");
-               if (defMemberAttr == null)
-                       return new MemberReference [0];
-               string name = (string) defMemberAttr.ConstructorArguments [0].Value;
-               return def.Properties
-                               .Where (p => p.Name == name)
-                               .Select (p => (MemberReference) p);
-       }
-
-       public static IEnumerable<TypeDefinition> GetTypes (this AssemblyDefinition assembly)
-       {
-               return assembly.Modules.SelectMany (md => md.GetAllTypes ());
-       }
-
-       public static TypeDefinition GetType (this AssemblyDefinition assembly, string type)
-       {
-               return GetTypes (assembly)
-                       .Where (td => td.FullName == type)
-                       .EnsureZeroOrOne ();
-       }
-
-       public static bool IsGenericType (this TypeReference type)
-       {
-               return type.GenericParameters.Count > 0;
-       }
-
-       public static bool IsGenericMethod (this MethodReference method)
-       {
-               return method.GenericParameters.Count > 0;
-       }
-
-       public static TypeReference GetUnderlyingType (this TypeDefinition type)
-       {
-               if (!type.IsEnum)
-                       return type;
-               return type.Fields.First (f => f.Name == "value__").FieldType;
-       }
-
-       public static IEnumerable<TypeDefinition> GetAllTypes (this ModuleDefinition self)
-       {
-               return self.Types.SelectMany (t => t.GetAllTypes ());
-       }
-
-       static IEnumerable<TypeDefinition> GetAllTypes (this TypeDefinition self)
-       {
-               yield return self;
-
-               if (!self.HasNestedTypes)
-                       yield break;
-
-               foreach (var type in self.NestedTypes.SelectMany (t => t.GetAllTypes ()))
-                       yield return type;
-       }
-}
-
-enum ApiStyle {
-       Classic,
-       Unified
-}
-
-static class DocUtils {
-
-       public static bool DoesNotHaveApiStyle(this XmlElement element, ApiStyle style) {
-               string styleString = style.ToString ().ToLowerInvariant ();
-                       string apistylevalue = element.GetAttribute ("apistyle");
-                       return apistylevalue != styleString || string.IsNullOrWhiteSpace(apistylevalue);
-       }
-       public static bool HasApiStyle(this XmlElement element, ApiStyle style) {
-               string styleString = style.ToString ().ToLowerInvariant ();
-               return element.GetAttribute ("apistyle") == styleString;
-       }
-       public static bool HasApiStyle(this XmlNode node, ApiStyle style) 
-       {
-               var attribute = node.Attributes ["apistyle"];
-               return attribute != null && attribute.Value == style.ToString ().ToLowerInvariant ();
-       }
-       public static void AddApiStyle(this XmlElement element, ApiStyle style) {
-               string styleString = style.ToString ().ToLowerInvariant ();
-               var existingValue = element.GetAttribute ("apistyle");
-               if (string.IsNullOrWhiteSpace (existingValue) || existingValue != styleString) {
-                       element.SetAttribute ("apistyle", styleString);
-               }
-               
-               // Propagate the API style up to the membernode if necessary
-               if (element.LocalName == "AssemblyInfo" && element.ParentNode != null && element.ParentNode.LocalName == "Member") {
-                       var member = element.ParentNode;
-                       var unifiedAssemblyNode = member.SelectSingleNode ("AssemblyInfo[@apistyle='unified']");
-                       var classicAssemblyNode = member.SelectSingleNode ("AssemblyInfo[not(@apistyle) or @apistyle='classic']");
-
-                       var parentAttribute = element.ParentNode.Attributes ["apistyle"];
-                       Action removeStyle = () => element.ParentNode.Attributes.Remove (parentAttribute);
-                       Action propagateStyle = () => {
-                               if (parentAttribute == null) {
-                                       // if it doesn't have the attribute, then add it
-                                       parentAttribute = element.OwnerDocument.CreateAttribute ("apistyle");
-                                       parentAttribute.Value = styleString;
-                                       element.ParentNode.Attributes.Append (parentAttribute);
-                               } 
-                       };
-
-                       if ((style == ApiStyle.Classic && unifiedAssemblyNode != null) || (style == ApiStyle.Unified && classicAssemblyNode != null)) 
-                               removeStyle ();
-                       else
-                               propagateStyle ();
-               }
-       }
-       public static void AddApiStyle (this XmlNode node, ApiStyle style) 
-       {
-               string styleString = style.ToString ().ToLowerInvariant ();
-               var existingAttribute = node.Attributes ["apistyle"];
-               if (existingAttribute == null) {
-                       existingAttribute = node.OwnerDocument.CreateAttribute ("apistyle");
-                       node.Attributes.Append (existingAttribute);
-               }
-               existingAttribute.Value = styleString;
-       }
-       public static void RemoveApiStyle (this XmlElement element, ApiStyle style) 
-       {
-               string styleString = style.ToString ().ToLowerInvariant ();
-               string existingValue = element.GetAttribute ("apistyle");
-               if (string.IsNullOrWhiteSpace (existingValue) || existingValue == styleString) {
-                       element.RemoveAttribute ("apistyle");
-               }
-       }
-       public static void RemoveApiStyle (this XmlNode node, ApiStyle style) 
-       {
-               var styleAttribute = node.Attributes ["apistyle"];
-               if (styleAttribute != null && styleAttribute.Value == style.ToString ().ToLowerInvariant ()) {
-                       node.Attributes.Remove (styleAttribute);
-               }
-       }
-
-       public static bool IsExplicitlyImplemented (MethodDefinition method)
-       {
-               return method.IsPrivate && method.IsFinal && method.IsVirtual;
-       }
-
-       public static string GetTypeDotMember (string name)
-       {
-               int startType, startMethod;
-               startType = startMethod = -1;
-               for (int i = 0; i < name.Length; ++i) {
-                       if (name [i] == '.') {
-                               startType = startMethod;
-                               startMethod = i;
-                       }
-               }
-               return name.Substring (startType+1);
-       }
-
-       public static string GetMember (string name)
-       {
-               int i = name.LastIndexOf ('.');
-               if (i == -1)
-                       return name;
-               return name.Substring (i+1);
-       }
-
-       public static void GetInfoForExplicitlyImplementedMethod (
-                       MethodDefinition method, out TypeReference iface, out MethodReference ifaceMethod)
-       {
-               iface = null;
-               ifaceMethod = null;
-               if (method.Overrides.Count != 1)
-                       throw new InvalidOperationException ("Could not determine interface type for explicitly-implemented interface member " + method.Name);
-               iface = method.Overrides [0].DeclaringType;
-               ifaceMethod = method.Overrides [0];
-       }
-
-       public static string GetPropertyName (PropertyDefinition pi)
-       {
-               // Issue: (g)mcs-generated assemblies that explicitly implement
-               // properties don't specify the full namespace, just the 
-               // TypeName.Property; .NET uses Full.Namespace.TypeName.Property.
-               MethodDefinition method = pi.GetMethod;
-               if (method == null)
-                       method = pi.SetMethod;
-               if (!IsExplicitlyImplemented (method))
-                       return pi.Name;
-
-               // Need to determine appropriate namespace for this member.
-               TypeReference iface;
-               MethodReference ifaceMethod;
-               GetInfoForExplicitlyImplementedMethod (method, out iface, out ifaceMethod);
-               return string.Join (".", new string[]{
-                               DocTypeFullMemberFormatter.Default.GetName (iface),
-                               GetMember (pi.Name)});
-       }
-
-       public static string GetNamespace (TypeReference type)
-       {
-               if (type.GetElementType ().IsNested)
-                       type = type.GetElementType ();
-               while (type != null && type.IsNested)
-                       type = type.DeclaringType;
-               if (type == null)
-                       return string.Empty;
-
-                       string typeNS = type.Namespace;
-
-                       // first, make sure this isn't a type reference to another assembly/module
-
-                       bool isInAssembly = MDocUpdater.IsInAssemblies(type.Module.Name);
-                       if (isInAssembly && !typeNS.StartsWith ("System") && MDocUpdater.HasDroppedNamespace (type)) {
-                               typeNS = string.Format ("{0}.{1}", MDocUpdater.droppedNamespace, typeNS);
-                       }
-                       return typeNS;
-       }
-
-       public static string PathCombine (string dir, string path)
-       {
-               if (dir == null)
-                       dir = "";
-               if (path == null)
-                       path = "";
-               return Path.Combine (dir, path);
-       }
-
-       public static bool IsExtensionMethod (MethodDefinition method)
-       {
-               return
-                       method.CustomAttributes
-                                       .Any (m => m.AttributeType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute")
-                       && method.DeclaringType.CustomAttributes
-                                       .Any (m => m.AttributeType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute");
-       }
-
-       public static bool IsDelegate (TypeDefinition type)
-       {
-               TypeReference baseRef = type.BaseType;
-               if (baseRef == null)
-                       return false;
-               return !type.IsAbstract && baseRef.FullName == "System.Delegate" || // FIXME
-                               baseRef.FullName == "System.MulticastDelegate";
-       }
-
-       public static List<TypeReference> GetDeclaringTypes (TypeReference type)
-       {
-               List<TypeReference> decls = new List<TypeReference> ();
-               decls.Add (type);
-               while (type.DeclaringType != null) {
-                       decls.Add (type.DeclaringType);
-                       type = type.DeclaringType;
-               }
-               decls.Reverse ();
-               return decls;
-       }
-
-       public static int GetGenericArgumentCount (TypeReference type)
-       {
-               GenericInstanceType inst = type as GenericInstanceType;
-               return inst != null
-                               ? inst.GenericArguments.Count
-                               : type.GenericParameters.Count;
-       }
-
-       public static IEnumerable<TypeReference> GetUserImplementedInterfaces (TypeDefinition type)
-       {
-               HashSet<string> inheritedInterfaces = GetInheritedInterfaces (type);
-               List<TypeReference> userInterfaces = new List<TypeReference> ();
-               foreach (var ii in type.Interfaces) {
-                       var iface = ii.InterfaceType;
-                       TypeReference lookup = iface.Resolve () ?? iface;
-                       if (!inheritedInterfaces.Contains (GetQualifiedTypeName (lookup)))
-                               userInterfaces.Add (iface);
-               }
-               return userInterfaces.Where (i => MDocUpdater.IsPublic (i.Resolve ()));
-       }
-
-       private static string GetQualifiedTypeName (TypeReference type)
-       {
-               return "[" + type.Scope.Name + "]" + type.FullName;
-       }
-
-       private static HashSet<string> GetInheritedInterfaces (TypeDefinition type)
-       {
-               HashSet<string> inheritedInterfaces = new HashSet<string> ();
-               Action<TypeDefinition> a = null;
-               a = t => {
-                       if (t == null) return;
-                       foreach (var r in t.Interfaces) {
-                               inheritedInterfaces.Add (GetQualifiedTypeName (r.InterfaceType));
-                               a (r.InterfaceType.Resolve ());
-                       }
-               };
-               TypeReference baseRef = type.BaseType;
-               while (baseRef != null) {
-                       TypeDefinition baseDef = baseRef.Resolve ();
-                       if (baseDef != null) {
-                               a (baseDef);
-                               baseRef = baseDef.BaseType;
-                       }
-                       else
-                               baseRef = null;
-               }
-               foreach (var r in type.Interfaces)
-                       a (r.InterfaceType.Resolve ());
-               return inheritedInterfaces;
-       }
-}
-
-class DocsNodeInfo {
-       public DocsNodeInfo (XmlElement node)
-       {
-               this.Node = node;
-       }
-
-       public DocsNodeInfo (XmlElement node, TypeDefinition type)
-               : this (node)
-       {
-               SetType (type);
-       }
-
-       public DocsNodeInfo (XmlElement node, MemberReference member)
-               : this (node)
-       {
-               SetMemberInfo (member);
-       }
-
-       void SetType (TypeDefinition type)
-       {
-               if (type == null)
-                       throw new ArgumentNullException ("type");
-               Type = type;
-               GenericParameters = new List<GenericParameter> (type.GenericParameters);
-               List<TypeReference> declTypes = DocUtils.GetDeclaringTypes (type);
-               int maxGenArgs = DocUtils.GetGenericArgumentCount (type);
-               for (int i = 0; i < declTypes.Count - 1; ++i) {
-                       int remove = System.Math.Min (maxGenArgs, 
-                                       DocUtils.GetGenericArgumentCount (declTypes [i]));
-                       maxGenArgs -= remove;
-                       while (remove-- > 0)
-                               GenericParameters.RemoveAt (0);
-               }
-               if (DocUtils.IsDelegate (type)) {
-                       Parameters = type.GetMethod("Invoke").Parameters;
-                       ReturnType = type.GetMethod("Invoke").ReturnType;
-                       ReturnIsReturn = true;
-               }
-       }
-
-       void SetMemberInfo (MemberReference member)
-       {
-               if (member == null)
-                       throw new ArgumentNullException ("member");
-               ReturnIsReturn = true;
-               AddRemarks = true;
-               Member = member;
-               
-               if (member is MethodReference ) {
-                       MethodReference mr = (MethodReference) member;
-                       Parameters = mr.Parameters;
-                       if (mr.IsGenericMethod ()) {
-                               GenericParameters = new List<GenericParameter> (mr.GenericParameters);
-                       }
-               }
-               else if (member is PropertyDefinition) {
-                       Parameters = ((PropertyDefinition) member).Parameters;
-               }
-                       
-               if (member is MethodDefinition) {
-                       ReturnType = ((MethodDefinition) member).ReturnType;
-               } else if (member is PropertyDefinition) {
-                       ReturnType = ((PropertyDefinition) member).PropertyType;
-                       ReturnIsReturn = false;
-               }
-
-               // no remarks section for enum members
-               if (member.DeclaringType != null && ((TypeDefinition) member.DeclaringType).IsEnum)
-                       AddRemarks = false;
-       }
-
-       public TypeReference ReturnType;
-       public List<GenericParameter> GenericParameters;
-       public IList<ParameterDefinition> Parameters;
-       public bool ReturnIsReturn;
-       public XmlElement Node;
-       public bool AddRemarks = true;
-       public MemberReference Member;
-       public TypeDefinition Type;
-
-       public override string ToString ()
-       {
-               return string.Format ("{0} - {1} - {2}", Type, Member, Node == null ? "no xml" : "with xml");
-       }
-}
-
-class DocumentationEnumerator {
-       
-       public virtual IEnumerable<TypeDefinition> GetDocumentationTypes (AssemblyDefinition assembly, List<string> forTypes)
-       {
-               return GetDocumentationTypes (assembly, forTypes, null);
-       }
-
-       protected IEnumerable<TypeDefinition> GetDocumentationTypes (AssemblyDefinition assembly, List<string> forTypes, HashSet<string> seen)
-       {
-               foreach (TypeDefinition type in assembly.GetTypes()) {
-                       if (forTypes != null && forTypes.BinarySearch (type.FullName) < 0)
-                               continue;
-                       if (seen != null && seen.Contains (type.FullName))
-                               continue;
-                       yield return type;
-                       foreach (TypeDefinition nested in type.NestedTypes)
-                               yield return nested;
-               }
-       }
-
-       public virtual IEnumerable<DocsNodeInfo> GetDocumentationMembers (XmlDocument basefile, TypeDefinition type)
-       {
-               foreach (XmlElement oldmember in basefile.SelectNodes("Type/Members/Member")) {
-                       if (oldmember.GetAttribute ("__monodocer-seen__") == "true") {
-                               oldmember.RemoveAttribute ("__monodocer-seen__");
-                               continue;
-                       }
-                       MemberReference m = GetMember (type, new DocumentationMember (oldmember));
-                       if (m == null) {
-                               yield return new DocsNodeInfo (oldmember);
-                       }
-                       else {
-                               yield return new DocsNodeInfo (oldmember, m);
-                       }
-               }
-       }
-
-       protected static MemberReference GetMember (TypeDefinition type, DocumentationMember member)
-       {
-               string membertype = member.MemberType;
-               
-               string returntype = member.ReturnType;
-               
-               string docName = member.MemberName;
-
-               string[] docTypeParams = GetTypeParameters (docName, member.TypeParameters);
-
-               // If we're using 'magic types', then we might get false positives ... in those cases, we keep searching
-               MemberReference likelyCandidate = null;
-               
-               // Loop through all members in this type with the same name
-               var reflectedMembers = GetReflectionMembers (type, docName).ToArray ();
-               foreach (MemberReference mi in reflectedMembers) {
-                       bool matchedMagicType = false;
-                       if (mi is TypeDefinition) continue;
-                       if (MDocUpdater.GetMemberType(mi) != membertype) continue;
-
-                       if (MDocUpdater.IsPrivate (mi))
-                               continue;
-
-                       IList<ParameterDefinition> pis = null;
-                       string[] typeParams = null;
-                       if (mi is MethodDefinition) {
-                               MethodDefinition mb = (MethodDefinition) mi;
-                               pis = mb.Parameters;
-                               if (mb.IsGenericMethod ()) {
-                                       IList<GenericParameter> args = mb.GenericParameters;
-                                       typeParams = args.Select (p => p.Name).ToArray ();
-                               }
-                       }
-                       else if (mi is PropertyDefinition)
-                               pis = ((PropertyDefinition)mi).Parameters;
-                               
-                       // check type parameters
-                       int methodTcount = member.TypeParameters == null ? 0 : member.TypeParameters.Count;
-                       int reflectionTcount = typeParams == null ? 0 : typeParams.Length;
-                       if (methodTcount != reflectionTcount) 
-                               continue;
-
-                       // check member parameters
-                       int mcount = member.Parameters == null ? 0 : member.Parameters.Count;
-                       int pcount = pis == null ? 0 : pis.Count;
-                       if (mcount != pcount)
-                               continue;
-
-                       MethodDefinition mDef = mi as MethodDefinition;
-                       if (mDef != null && !mDef.IsConstructor) {
-                               // Casting operators can overload based on return type.
-                               string rtype = GetReplacedString (
-                                                      MDocUpdater.GetDocTypeFullName (((MethodDefinition)mi).ReturnType), 
-                                                      typeParams, docTypeParams);
-                               string originalRType = rtype;
-                               if (MDocUpdater.SwitchingToMagicTypes) {
-                                       rtype = NativeTypeManager.ConvertFromNativeType (rtype);
-                                       
-                               }
-                               if ((returntype != rtype && originalRType == rtype) ||
-                                       (MDocUpdater.SwitchingToMagicTypes && returntype != originalRType && returntype != rtype && originalRType != rtype)) {
-                                       continue;
-                               }
-
-                               if (originalRType != rtype)
-                                       matchedMagicType = true;
-                       }
-
-                       if (pcount == 0)
-                               return mi;
-                       bool good = true;
-                       for (int i = 0; i < pis.Count; i++) {
-                               string paramType = GetReplacedString (
-                                       MDocUpdater.GetDocParameterType (pis [i].ParameterType),
-                                       typeParams, docTypeParams);
-
-                               // if magictypes, replace paramType to "classic value" ... so the comparison works
-                               string originalParamType = paramType;
-                               if (MDocUpdater.SwitchingToMagicTypes) {
-                                       paramType = NativeTypeManager.ConvertFromNativeType (paramType);
-                               }
-
-                               string xmlMemberType = member.Parameters [i];
-                               if ((!paramType.Equals(xmlMemberType) && paramType.Equals(originalParamType)) || 
-                                       (MDocUpdater.SwitchingToMagicTypes && !originalParamType.Equals(xmlMemberType) && !paramType.Equals(xmlMemberType) && !paramType.Equals(originalParamType))) {
-
-                                       // did not match ... if we're dropping the namespace, and the paramType has the dropped
-                                       // namespace, we should see if it matches when added
-                                       bool stillDoesntMatch = true;
-                                       if (MDocUpdater.HasDroppedNamespace(type) && paramType.StartsWith (MDocUpdater.droppedNamespace)) {
-                                               string withDroppedNs = string.Format ("{0}.{1}", MDocUpdater.droppedNamespace, xmlMemberType);
-
-                                               stillDoesntMatch = withDroppedNs != paramType;
-                                       }
-
-                                       if (stillDoesntMatch) {
-                                               good = false;
-                                               break;
-                                       }
-                               }
-
-                               if (originalParamType != paramType)
-                                       matchedMagicType = true;
-                       }
-                       if (!good) continue;
-
-                       if (MDocUpdater.SwitchingToMagicTypes && likelyCandidate == null && matchedMagicType) {
-                               // we matched this on a magic type conversion ... let's keep going to see if there's another one we should look at that matches more closely
-                               likelyCandidate = mi;
-                               continue;
-                       }
-
-                       return mi;
-               }
-               
-               return likelyCandidate;
-       }
-
-       static string[] GetTypeParameters (string docName, IEnumerable<string> knownParameters)
-       {
-               if (docName [docName.Length-1] != '>')
-                       return null;
-               StringList types = new StringList ();
-               int endToken = docName.Length-2;
-               int i = docName.Length-2;
-               do {
-                       if (docName [i] == ',' || docName [i] == '<') {
-                               types.Add (docName.Substring (i + 1, endToken - i));
-                               endToken = i-1;
-                       }
-                       if (docName [i] == '<')
-                               break;
-               } while (--i >= 0);
-
-               types.Reverse ();
-               var arrayTypes = types.ToArray ();
-
-               if (knownParameters != null && knownParameters.Any () && arrayTypes.Length != knownParameters.Count ())
-                       return knownParameters.ToArray ();
-               else
-                       return arrayTypes;
-       }
-
-       protected static IEnumerable<MemberReference> GetReflectionMembers (TypeDefinition type, string docName)
-       {
-               // In case of dropping the namespace, we have to remove the dropped NS
-               // so that docName will match what's in the assembly/type
-               if (MDocUpdater.HasDroppedNamespace (type) && docName.StartsWith(MDocUpdater.droppedNamespace + ".")) {
-                       int droppedNsLength = MDocUpdater.droppedNamespace.Length;
-                       docName = docName.Substring (droppedNsLength + 1, docName.Length - droppedNsLength - 1);
-               }
-
-               // need to worry about 4 forms of //@MemberName values:
-               //  1. "Normal" (non-generic) member names: GetEnumerator
-               //    - Lookup as-is.
-               //  2. Explicitly-implemented interface member names: System.Collections.IEnumerable.Current
-               //    - try as-is, and try type.member (due to "kludge" for property
-               //      support.
-               //  3. "Normal" Generic member names: Sort<T> (CSC)
-               //    - need to remove generic parameters --> "Sort"
-               //  4. Explicitly-implemented interface members for generic interfaces: 
-               //    -- System.Collections.Generic.IEnumerable<T>.Current
-               //    - Try as-is, and try type.member, *keeping* the generic parameters.
-               //     --> System.Collections.Generic.IEnumerable<T>.Current, IEnumerable<T>.Current
-               //  5. As of 2008-01-02, gmcs will do e.g. 'IFoo`1[A].Method' instead of
-               //    'IFoo<A>.Method' for explicitly implemented methods; don't interpret
-               //    this as (1) or (2).
-               if (docName.IndexOf ('<') == -1 && docName.IndexOf ('[') == -1) {
-                       // Cases 1 & 2
-                       foreach (MemberReference mi in type.GetMembers (docName))
-                               yield return mi;
-                       if (CountChars (docName, '.') > 0)
-                               // might be a property; try only type.member instead of
-                               // namespace.type.member.
-                               foreach (MemberReference mi in 
-                                               type.GetMembers (DocUtils.GetTypeDotMember (docName)))
-                                       yield return mi;
-                       yield break;
-               }
-               // cases 3 & 4
-               int numLt = 0;
-               int numDot = 0;
-               int startLt, startType, startMethod;
-               startLt = startType = startMethod = -1;
-               for (int i = 0; i < docName.Length; ++i) {
-                       switch (docName [i]) {
-                               case '<':
-                                       if (numLt == 0) {
-                                               startLt = i;
-                                       }
-                                       ++numLt;
-                                       break;
-                               case '>':
-                                       --numLt;
-                                       if (numLt == 0 && (i + 1) < docName.Length)
-                                               // there's another character in docName, so this <...> sequence is
-                                               // probably part of a generic type -- case 4.
-                                               startLt = -1;
-                                       break;
-                               case '.':
-                                       startType = startMethod;
-                                       startMethod = i;
-                                       ++numDot;
-                                       break;
-                       }
-               }
-               string refName = startLt == -1 ? docName : docName.Substring (0, startLt);
-               // case 3
-               foreach (MemberReference mi in type.GetMembers (refName))
-                       yield return mi;
-
-               // case 4
-               foreach (MemberReference mi in type.GetMembers (refName.Substring (startType + 1)))
-                       yield return mi;
-
-               // If we _still_ haven't found it, we've hit another generic naming issue:
-               // post Mono 1.1.18, gmcs generates [[FQTN]] instead of <TypeName> for
-               // explicitly-implemented METHOD names (not properties), e.g. 
-               // "System.Collections.Generic.IEnumerable`1[[Foo, test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].GetEnumerator"
-               // instead of "System.Collections.Generic.IEnumerable<Foo>.GetEnumerator",
-               // which the XML docs will contain.
-               //
-               // Alas, we can't derive the Mono name from docName, so we need to iterate
-               // over all member names, convert them into CSC format, and compare... :-(
-               if (numDot == 0)
-                       yield break;
-               foreach (MemberReference mi in type.GetMembers ()) {
-                       if (MDocUpdater.GetMemberName (mi) == docName)
-                               yield return mi;
-               }
-       }
-
-       static string GetReplacedString (string typeName, string[] from, string[] to)
-       {
-               if (from == null)
-                       return typeName;
-               for (int i = 0; i < from.Length; ++i)
-                       typeName = typeName.Replace (from [i], to [i]);
-               return typeName;
-       }
-
-       private static int CountChars (string s, char c)
-       {
-               int count = 0;
-               for (int i = 0; i < s.Length; ++i) {
-                       if (s [i] == c)
-                               ++count;
-               }
-               return count;
-       }
-}
-
-class EcmaDocumentationEnumerator : DocumentationEnumerator {
-
-       XmlReader ecmadocs;
-       MDocUpdater app;
-
-       public EcmaDocumentationEnumerator (MDocUpdater app, XmlReader ecmaDocs)
-       {
-               this.app      = app;
-               this.ecmadocs = ecmaDocs;
-       }
-
-       public override IEnumerable<TypeDefinition> GetDocumentationTypes (AssemblyDefinition assembly, List<string> forTypes)
-       {
-               HashSet<string> seen = new HashSet<string> ();
-               return GetDocumentationTypes (assembly, forTypes, seen)
-                       .Concat (base.GetDocumentationTypes (assembly, forTypes, seen));
-       }
-
-       new IEnumerable<TypeDefinition> GetDocumentationTypes (AssemblyDefinition assembly, List<string> forTypes, HashSet<string> seen)
-       {
-               int typeDepth = -1;
-               while (ecmadocs.Read ()) {
-                       switch (ecmadocs.Name) {
-                               case "Type": {
-                                       if (typeDepth == -1)
-                                               typeDepth = ecmadocs.Depth;
-                                       if (ecmadocs.NodeType != XmlNodeType.Element)
-                                               continue;
-                                       if (typeDepth != ecmadocs.Depth) // nested <TypeDefinition/> element?
-                                               continue;
-                                       string typename = ecmadocs.GetAttribute ("FullName");
-                                       string typename2 = MDocUpdater.GetTypeFileName (typename);
-                                       if (forTypes != null && 
-                                                       forTypes.BinarySearch (typename) < 0 &&
-                                                       typename != typename2 &&
-                                                       forTypes.BinarySearch (typename2) < 0)
-                                               continue;
-                                       TypeDefinition t;
-                                       if ((t = assembly.GetType (typename)) == null && 
-                                                       (t = assembly.GetType (typename2)) == null)
-                                               continue;
-                                       seen.Add (typename);
-                                       if (typename != typename2)
-                                               seen.Add (typename2);
-                                       Console.WriteLine ("  Import: {0}", t.FullName);
-                                       if (ecmadocs.Name != "Docs") {
-                                               int depth = ecmadocs.Depth;
-                                               while (ecmadocs.Read ()) {
-                                                       if (ecmadocs.Name == "Docs" && ecmadocs.Depth == depth + 1)
-                                                               break;
-                                               }
-                                       }
-                                       if (!ecmadocs.IsStartElement ("Docs"))
-                                               throw new InvalidOperationException ("Found " + ecmadocs.Name + "; expecting <Docs/>!");
-                                       yield return t;
-                                       break;
-                               }
-                               default:
-                                       break;
-                       }
-               }
-       }
-
-       public override IEnumerable<DocsNodeInfo> GetDocumentationMembers (XmlDocument basefile, TypeDefinition type)
-       {
-               return GetMembers (basefile, type)
-                       .Concat (base.GetDocumentationMembers (basefile, type));
-       }
-
-       private IEnumerable<DocsNodeInfo> GetMembers (XmlDocument basefile, TypeDefinition type)
-       {
-               while (ecmadocs.Name != "Members" && ecmadocs.Read ()) {
-                       // do nothing
-               }
-               if (ecmadocs.IsEmptyElement)
-                       yield break;
-
-               int membersDepth = ecmadocs.Depth;
-               bool go = true;
-               while (go && ecmadocs.Read ()) {
-                       switch (ecmadocs.Name) {
-                               case "Member": {
-                                       if (membersDepth != ecmadocs.Depth - 1 || ecmadocs.NodeType != XmlNodeType.Element)
-                                               continue;
-                                       DocumentationMember dm = new DocumentationMember (ecmadocs);
-                                       
-                                       string xp = MDocUpdater.GetXPathForMember (dm);
-                                       XmlElement oldmember = (XmlElement) basefile.SelectSingleNode (xp);
-                                       MemberReference m;
-                                       if (oldmember == null) {
-                                               m = GetMember (type, dm);
-                                               if (m == null) {
-                                                       app.Warning ("Could not import ECMA docs for `{0}'s `{1}': Member not found.",
-                                                                       type.FullName, dm.MemberSignatures ["C#"]);
-                                                                       // SelectSingleNode (ecmaDocsMember, "MemberSignature[@Language=\"C#\"]/@Value").Value);
-                                                       continue;
-                                               }
-                                               // oldmember lookup may have failed due to type parameter renames.
-                                               // Try again.
-                                               oldmember = (XmlElement) basefile.SelectSingleNode (MDocUpdater.GetXPathForMember (m));
-                                               if (oldmember == null) {
-                                                       XmlElement members = MDocUpdater.WriteElement (basefile.DocumentElement, "Members");
-                                                       oldmember = basefile.CreateElement ("Member");
-                                                       oldmember.SetAttribute ("MemberName", dm.MemberName);
-                                                       members.AppendChild (oldmember);
-                                                       foreach (string key in MDocUpdater.Sort (dm.MemberSignatures.Keys)) {
-                                                               XmlElement ms = basefile.CreateElement ("MemberSignature");
-                                                               ms.SetAttribute ("Language", key);
-                                                               ms.SetAttribute ("Value", (string) dm.MemberSignatures [key]);
-                                                               oldmember.AppendChild (ms);
-                                                       }
-                                                       oldmember.SetAttribute ("__monodocer-seen__", "true");
-                                                       Console.WriteLine ("Member Added: {0}", oldmember.SelectSingleNode("MemberSignature[@Language='C#']/@Value").InnerText);
-                                                       app.additions++;
-                                               }
-                                       }
-                                       else {
-                                               m = GetMember (type, new DocumentationMember (oldmember));
-                                               if (m == null) {
-                                                       app.Warning ("Could not import ECMA docs for `{0}'s `{1}': Member not found.",
-                                                                       type.FullName, dm.MemberSignatures ["C#"]);
-                                                       continue;
-                                               }
-                                               oldmember.SetAttribute ("__monodocer-seen__", "true");
-                                       }
-                                       DocsNodeInfo node = new DocsNodeInfo (oldmember, m);
-                                       if (ecmadocs.Name != "Docs")
-                                               throw new InvalidOperationException ("Found " + ecmadocs.Name + "; expected <Docs/>!");
-                                       yield return node;
-                                       break;
-                               }
-                               case "Members":
-                                       if (membersDepth == ecmadocs.Depth && ecmadocs.NodeType == XmlNodeType.EndElement) {
-                                               go = false;
-                                       }
-                                       break;
-                       }
-               }
-       }
-}
-
-abstract class DocumentationImporter {
-
-       public abstract void ImportDocumentation (DocsNodeInfo info);
-}
-
-class MsxdocDocumentationImporter : DocumentationImporter {
-
-       XmlDocument slashdocs;
-
-       public MsxdocDocumentationImporter (string file)
-       {
-               var xml = File.ReadAllText (file);
-
-               // Ensure Unix line endings
-               xml = xml.Replace ("\r", "");
-
-               slashdocs = new XmlDocument();
-               slashdocs.LoadXml (xml);
-       }
-
-       public override void ImportDocumentation (DocsNodeInfo info)
-       {
-               XmlNode elem = GetDocs (info.Member ?? info.Type);
-
-               if (elem == null)
-                       return;
-
-               XmlElement e = info.Node;
-
-               if (elem.SelectSingleNode("summary") != null)
-                       MDocUpdater.ClearElement(e, "summary");
-               if (elem.SelectSingleNode("remarks") != null)
-                       MDocUpdater.ClearElement(e, "remarks");
-               if (elem.SelectSingleNode ("value") != null || elem.SelectSingleNode ("returns") != null) {
-                       MDocUpdater.ClearElement(e, "value");
-                       MDocUpdater.ClearElement(e, "returns");
-               }
-
-               foreach (XmlNode child in elem.ChildNodes) {
-                       switch (child.Name) {
-                               case "param":
-                               case "typeparam": {
-                                       XmlAttribute name = child.Attributes ["name"];
-                                       if (name == null)
-                                               break;
-                                       XmlElement p2 = (XmlElement) e.SelectSingleNode (child.Name + "[@name='" + name.Value + "']");
-                                       if (p2 != null)
-                                               p2.InnerXml = child.InnerXml;
-                                       break;
-                               }
-                               // Occasionally XML documentation will use <returns/> on
-                               // properties, so let's try to normalize things.
-                               case "value":
-                               case "returns": {
-                                       XmlElement v = e.OwnerDocument.CreateElement (info.ReturnIsReturn ? "returns" : "value");
-                                       v.InnerXml = child.InnerXml;
-                                       e.AppendChild (v);
-                                       break;
-                               }
-                               case "altmember":
-                               case "exception":
-                               case "permission": {
-                                       XmlAttribute cref = child.Attributes ["cref"] ?? child.Attributes ["name"];
-                                       if (cref == null)
-                                               break;
-                                       XmlElement a = (XmlElement) e.SelectSingleNode (child.Name + "[@cref='" + cref.Value + "']");
-                                       if (a == null) {
-                                               a = e.OwnerDocument.CreateElement (child.Name);
-                                               a.SetAttribute ("cref", cref.Value);
-                                               e.AppendChild (a);
-                                       }
-                                       a.InnerXml = child.InnerXml;
-                                       break;
-                               }
-                               case "seealso": {
-                                       XmlAttribute cref = child.Attributes ["cref"];
-                                       if (cref == null)
-                                               break;
-                                       XmlElement a = (XmlElement) e.SelectSingleNode ("altmember[@cref='" + cref.Value + "']");
-                                       if (a == null) {
-                                               a = e.OwnerDocument.CreateElement ("altmember");
-                                               a.SetAttribute ("cref", cref.Value);
-                                               e.AppendChild (a);
-                                       }
-                                       break;
-                               }
-                               default: {
-                                       bool add = true;
-                                       if (child.NodeType == XmlNodeType.Element && 
-                                                       e.SelectNodes (child.Name).Cast<XmlElement>().Any (n => n.OuterXml == child.OuterXml))
-                                               add = false;
-                                       if (add)
-                                               MDocUpdater.CopyNode (child, e);
-                                       break;
-                               }
-                       }
-               }
-       }
-
-       private XmlNode GetDocs (MemberReference member)
-       {
-               string slashdocsig = MDocUpdater.slashdocFormatter.GetDeclaration (member);
-               if (slashdocsig != null)
-                       return slashdocs.SelectSingleNode ("doc/members/member[@name='" + slashdocsig + "']");
-               return null;
-       }
-}
-
-class EcmaDocumentationImporter : DocumentationImporter {
-
-       XmlReader ecmadocs;
-
-       public EcmaDocumentationImporter (XmlReader ecmaDocs)
-       {
-               this.ecmadocs = ecmaDocs;
-       }
-
-       public override void ImportDocumentation (DocsNodeInfo info)
-       {
-               if (!ecmadocs.IsStartElement ("Docs")) {
-                       return;
-               }
-
-               XmlElement e = info.Node;
-
-               int depth = ecmadocs.Depth;
-               ecmadocs.ReadStartElement ("Docs");
-               while (ecmadocs.Read ()) {
-                       if (ecmadocs.Name == "Docs") {
-                               if (ecmadocs.Depth == depth && ecmadocs.NodeType == XmlNodeType.EndElement)
-                                       break;
-                               else
-                                       throw new InvalidOperationException ("Skipped past current <Docs/> element!");
-                       }
-                       if (!ecmadocs.IsStartElement ())
-                               continue;
-                       switch (ecmadocs.Name) {
-                               case "param":
-                               case "typeparam": {
-                                       string name = ecmadocs.GetAttribute ("name");
-                                       if (name == null)
-                                               break;
-                                       XmlNode doc = e.SelectSingleNode (
-                                                       ecmadocs.Name + "[@name='" + name + "']");
-                                       string value = ecmadocs.ReadInnerXml ();
-                                       if (doc != null)
-                                               doc.InnerXml = value.Replace ("\r", "");
-                                       break;
-                               }
-                               case "altmember":
-                               case "exception":
-                               case "permission":
-                               case "seealso": {
-                                       string name = ecmadocs.Name;
-                                       string cref = ecmadocs.GetAttribute ("cref");
-                                       if (cref == null)
-                                               break;
-                                       XmlNode doc = e.SelectSingleNode (
-                                                       ecmadocs.Name + "[@cref='" + cref + "']");
-                                       string value = ecmadocs.ReadInnerXml ().Replace ("\r", "");
-                                       if (doc != null)
-                                               doc.InnerXml = value;
-                                       else {
-                                               XmlElement n = e.OwnerDocument.CreateElement (name);
-                                               n.SetAttribute ("cref", cref);
-                                               n.InnerXml = value;
-                                               e.AppendChild (n);
-                                       }
-                                       break;
-                               }
-                               default: {
-                                       string name = ecmadocs.Name;
-                                       string xpath = ecmadocs.Name;
-                                       StringList attributes = new StringList (ecmadocs.AttributeCount);
-                                       if (ecmadocs.MoveToFirstAttribute ()) {
-                                               do {
-                                                       attributes.Add ("@" + ecmadocs.Name + "=\"" + ecmadocs.Value + "\"");
-                                               } while (ecmadocs.MoveToNextAttribute ());
-                                               ecmadocs.MoveToContent ();
-                                       }
-                                       if (attributes.Count > 0) {
-                                               xpath += "[" + string.Join (" and ", attributes.ToArray ()) + "]";
-                                       }
-                                       XmlNode doc = e.SelectSingleNode (xpath);
-                                       string value = ecmadocs.ReadInnerXml ().Replace ("\r", "");
-                                       if (doc != null) {
-                                               doc.InnerXml = value;
-                                       }
-                                       else {
-                                               XmlElement n = e.OwnerDocument.CreateElement (name);
-                                               n.InnerXml = value;
-                                               foreach (string a in attributes) {
-                                                       int eq = a.IndexOf ('=');
-                                                       n.SetAttribute (a.Substring (1, eq-1), a.Substring (eq+2, a.Length-eq-3));
-                                               }
-                                               e.AppendChild (n);
-                                       }
-                                       break;
-                               }
-                       }
-               }
-       }
-}
-
-class DocumentationMember {
-       public StringToStringMap MemberSignatures = new StringToStringMap ();
-       public string ReturnType;
-       public StringList Parameters;
-       public StringList TypeParameters;
-       public string MemberName;
-       public string MemberType;
-
-       public DocumentationMember (XmlReader reader)
-       {
-               MemberName = reader.GetAttribute ("MemberName");
-               int depth = reader.Depth;
-               bool go = true;
-               StringList p = new StringList ();
-               StringList tp = new StringList ();
-               do {
-                       if (reader.NodeType != XmlNodeType.Element)
-                               continue;
-
-                       bool shouldUse = true;
-                       try {
-                               string apistyle = reader.GetAttribute ("apistyle");
-                               shouldUse = string.IsNullOrWhiteSpace(apistyle) || apistyle == "classic"; // only use this tag if it's an 'classic' style node
-                       }
-                       catch (Exception ex) {}
-                       switch (reader.Name) {
-                               case "MemberSignature":
-                                       if (shouldUse) {
-                                               MemberSignatures [reader.GetAttribute ("Language")] = reader.GetAttribute ("Value");
-                                       }
-                                       break;
-                               case "MemberType":
-                                       MemberType = reader.ReadElementString ();
-                                       break;
-                               case "ReturnType":
-                                       if (reader.Depth == depth + 2 && shouldUse)
-                                               ReturnType = reader.ReadElementString ();
-                                       break;
-                               case "Parameter":
-                                       if (reader.Depth == depth + 2 && shouldUse)
-                                               p.Add (reader.GetAttribute ("Type"));
-                                       break;
-                               case "TypeParameter":
-                                       if (reader.Depth == depth + 2 && shouldUse)
-                                               tp.Add (reader.GetAttribute ("Name"));
-                                       break;
-                               case "Docs":
-                                       if (reader.Depth == depth + 1)
-                                               go = false;
-                                       break;
-                       }
-               } while (go && reader.Read () && reader.Depth >= depth);
-               if (p.Count > 0) {
-                       Parameters = p;
-               }
-               if (tp.Count > 0) {
-                       TypeParameters = tp;
-               } else {
-                       DiscernTypeParameters ();
-               }
-       }
-
-       public DocumentationMember (XmlNode node)
-       {
-               MemberName = node.Attributes ["MemberName"].Value;
-               foreach (XmlNode n in node.SelectNodes ("MemberSignature")) {
-                       XmlAttribute l = n.Attributes ["Language"];
-                       XmlAttribute v = n.Attributes ["Value"];
-                       XmlAttribute apistyle = n.Attributes ["apistyle"];
-                       bool shouldUse = apistyle == null || apistyle.Value == "classic";
-                       if (l != null && v != null && shouldUse)
-                               MemberSignatures [l.Value] = v.Value;
-               }
-               MemberType = node.SelectSingleNode ("MemberType").InnerText;
-               XmlNode rt = node.SelectSingleNode ("ReturnValue/ReturnType[not(@apistyle) or @apistyle='classic']");
-               if (rt != null)
-                       ReturnType = rt.InnerText;
-               XmlNodeList p = node.SelectNodes ("Parameters/Parameter[not(@apistyle) or @apistyle='classic']");
-               if (p.Count > 0) {
-                       Parameters = new StringList (p.Count);
-                       for (int i = 0; i < p.Count; ++i)
-                               Parameters.Add (p [i].Attributes ["Type"].Value);
-               }
-               XmlNodeList tp = node.SelectNodes ("TypeParameters/TypeParameter[not(@apistyle) or @apistyle='classic']");
-               if (tp.Count > 0) {
-                       TypeParameters = new StringList (tp.Count);
-                       for (int i = 0; i < tp.Count; ++i)
-                               TypeParameters.Add (tp [i].Attributes ["Name"].Value);
-               }
-               else {
-                       DiscernTypeParameters ();
-               }
-       }
-
-       void DiscernTypeParameters ()
-       {
-               // see if we can discern the param list from the name
-               if (MemberName.Contains ("<") && MemberName.EndsWith (">")) {
-                       var starti = MemberName.IndexOf ("<") + 1;
-                       var endi = MemberName.LastIndexOf (">");
-                       var paramlist = MemberName.Substring (starti, endi - starti);
-                       var tparams = paramlist.Split (new char[] {','}, StringSplitOptions.RemoveEmptyEntries);
-                       TypeParameters = new StringList (tparams);
-               }
-       }
-}
-
-public class DynamicParserContext {
-       public ReadOnlyCollection<bool> TransformFlags;
-       public int TransformIndex;
-
-       public DynamicParserContext (ICustomAttributeProvider provider)
-       {
-               CustomAttribute da;
-               if (provider.HasCustomAttributes &&
-                               (da = (provider.CustomAttributes.Cast<CustomAttribute>()
-                                       .SingleOrDefault (ca => ca.GetDeclaringType() == "System.Runtime.CompilerServices.DynamicAttribute"))) != null) {
-                       CustomAttributeArgument[] values = da.ConstructorArguments.Count == 0
-                               ? new CustomAttributeArgument [0]
-                               : (CustomAttributeArgument[]) da.ConstructorArguments [0].Value;
-
-                       TransformFlags = new ReadOnlyCollection<bool> (values.Select (t => (bool) t.Value).ToArray());
-               }
-       }
-}
-
-public enum MemberFormatterState {
-       None,
-       WithinGenericTypeParameters,
-}
-
-public abstract class MemberFormatter {
-
-       public virtual string Language {
-               get {return "";}
-       }
-
-       public string GetName (MemberReference member)
-       {
-               return GetName (member, null);
-       }
-
-       public virtual string GetName (MemberReference member, DynamicParserContext context)
-       {
-               TypeReference type = member as TypeReference;
-               if (type != null)
-                       return GetTypeName (type, context);
-               MethodReference method  = member as MethodReference;
-               if (method != null && method.Name == ".ctor") // method.IsConstructor
-                       return GetConstructorName (method);
-               if (method != null)
-                       return GetMethodName (method);
-               PropertyReference prop = member as PropertyReference;
-               if (prop != null)
-                       return GetPropertyName (prop);
-               FieldReference field = member as FieldReference;
-               if (field != null)
-                       return GetFieldName (field);
-               EventReference e = member as EventReference;
-               if (e != null)
-                       return GetEventName (e);
-               throw new NotSupportedException ("Can't handle: " +
-                                       (member == null ? "null" : member.GetType().ToString()));
-       }
-
-       protected virtual string GetTypeName (TypeReference type)
-       {
-               return GetTypeName (type, null);
-       }
-
-       protected virtual string GetTypeName (TypeReference type, DynamicParserContext context)
-       {
-               if (type == null)
-                       throw new ArgumentNullException ("type");
-               return _AppendTypeName (new StringBuilder (type.Name.Length), type, context).ToString ();
-       }
-
-       protected virtual char[] ArrayDelimeters {
-               get {return new char[]{'[', ']'};}
-       }
-
-       protected virtual MemberFormatterState MemberFormatterState { get; set; }
-
-       protected StringBuilder _AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (type is ArrayType) {
-                       TypeSpecification spec = type as TypeSpecification;
-                       _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType (), context);
-                       return AppendArrayModifiers (buf, (ArrayType) type);
-               }
-               if (type is ByReferenceType) {
-                       return AppendRefTypeName (buf, type, context);
-               }
-               if (type is PointerType) {
-                       return AppendPointerTypeName (buf, type, context);
-               }
-               if (type is GenericParameter) {
-                       return AppendTypeName (buf, type, context);
-               }
-               AppendNamespace (buf, type);
-               GenericInstanceType genInst = type as GenericInstanceType;
-               if (type.GenericParameters.Count == 0 &&
-                               (genInst == null ? true : genInst.GenericArguments.Count == 0)) {
-                       return AppendFullTypeName (buf, type, context);
-               }
-               return AppendGenericType (buf, type, context);
-       }
-
-       protected virtual StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-               string ns = DocUtils.GetNamespace (type);
-               if (ns != null && ns.Length > 0)
-                       buf.Append (ns).Append ('.');
-               return buf;
-       }
-
-       protected virtual StringBuilder AppendFullTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (type.DeclaringType != null)
-                       AppendFullTypeName (buf, type.DeclaringType, context).Append (NestedTypeSeparator);
-               return AppendTypeName (buf, type, context);
-       }
-
-       protected virtual StringBuilder AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (context != null)
-                       context.TransformIndex++;
-               return AppendTypeName (buf, type.Name);
-       }
-
-       protected virtual StringBuilder AppendTypeName (StringBuilder buf, string typename)
-       {
-               int n = typename.IndexOf ("`");
-               if (n >= 0)
-                       return buf.Append (typename.Substring (0, n));
-               return buf.Append (typename);
-       }
-
-       protected virtual StringBuilder AppendArrayModifiers (StringBuilder buf, ArrayType array)
-       {
-               buf.Append (ArrayDelimeters [0]);
-               int rank = array.Rank;
-               if (rank > 1)
-                       buf.Append (new string (',', rank-1));
-               return buf.Append (ArrayDelimeters [1]);
-       }
-
-       protected virtual string RefTypeModifier {
-               get {return "@";}
-       }
-
-       protected virtual StringBuilder AppendRefTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               TypeSpecification spec = type as TypeSpecification;
-               return _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType (), context)
-                               .Append (RefTypeModifier);
-       }
-
-       protected virtual string PointerModifier {
-               get {return "*";}
-       }
-
-       protected virtual StringBuilder AppendPointerTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               TypeSpecification spec = type as TypeSpecification;
-               return _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType (), context)
-                               .Append (PointerModifier);
-       }
-
-       protected virtual char[] GenericTypeContainer {
-               get {return new char[]{'<', '>'};}
-       }
-
-       protected virtual char NestedTypeSeparator {
-               get {return '.';}
-       }
-
-       protected virtual StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               List<TypeReference> decls = DocUtils.GetDeclaringTypes (
-                               type is GenericInstanceType ? type.GetElementType () : type);
-               List<TypeReference> genArgs = GetGenericArguments (type);
-               int argIdx = 0;
-               int prev = 0;
-               bool insertNested = false;
-               foreach (var decl in decls) {
-                       TypeReference declDef = decl.Resolve () ?? decl;
-                       if (insertNested) {
-                               buf.Append (NestedTypeSeparator);
-                       }
-                       insertNested = true;
-                       AppendTypeName (buf, declDef, context);
-                       int ac = DocUtils.GetGenericArgumentCount (declDef);
-                       int c = ac - prev;
-                       prev = ac;
-                       if (c > 0) {
-                               buf.Append (GenericTypeContainer [0]);
-                               var origState = MemberFormatterState;
-                               MemberFormatterState = MemberFormatterState.WithinGenericTypeParameters;
-                               _AppendTypeName (buf, genArgs [argIdx++], context);
-                               for (int i = 1; i < c; ++i) {
-                                       _AppendTypeName (buf.Append (","), genArgs [argIdx++], context);
-                               }
-                               MemberFormatterState = origState;
-                               buf.Append (GenericTypeContainer [1]);
-                       }
-               }
-               return buf;
-       }
-
-       protected List<TypeReference> GetGenericArguments (TypeReference type)
-       {
-               var args = new List<TypeReference> ();
-               GenericInstanceType inst = type as GenericInstanceType;
-               if (inst != null)
-                       args.AddRange (inst.GenericArguments.Cast<TypeReference> ());
-               else
-                       args.AddRange (type.GenericParameters.Cast<TypeReference> ());
-               return args;
-       }
-
-       protected virtual StringBuilder AppendGenericTypeConstraints (StringBuilder buf, TypeReference type)
-       {
-               return buf;
-       }
-
-       protected virtual string GetConstructorName (MethodReference constructor)
-       {
-               return constructor.Name;
-       }
-
-       protected virtual string GetMethodName (MethodReference method)
-       {
-               return method.Name;
-       }
-
-       protected virtual string GetPropertyName (PropertyReference property)
-       {
-               return property.Name;
-       }
-
-       protected virtual string GetFieldName (FieldReference field)
-       {
-               return field.Name;
-       }
-
-       protected virtual string GetEventName (EventReference e)
-       {
-               return e.Name;
-       }
-       
-       public string GetDeclaration (MemberReference mreference)
-       {
-               return GetDeclaration (mreference.Resolve ());
-       }
-
-       string GetDeclaration (IMemberDefinition member)
-       {
-               if (member == null)
-                       throw new ArgumentNullException ("member");
-               TypeDefinition type = member as TypeDefinition;
-               if (type != null)
-                       return GetTypeDeclaration (type);
-               MethodDefinition method = member as MethodDefinition;
-               if (method != null && method.IsConstructor)
-                       return GetConstructorDeclaration (method);
-               if (method != null)
-                       return GetMethodDeclaration (method);
-               PropertyDefinition prop = member as PropertyDefinition;
-               if (prop != null)
-                       return GetPropertyDeclaration (prop);
-               FieldDefinition field = member as FieldDefinition;
-               if (field != null)
-                       return GetFieldDeclaration (field);
-               EventDefinition e = member as EventDefinition;
-               if (e != null)
-                       return GetEventDeclaration (e);
-               throw new NotSupportedException ("Can't handle: " + member.GetType().ToString());
-       }
-
-       protected virtual string GetTypeDeclaration (TypeDefinition type)
-       {
-               if (type == null)
-                       throw new ArgumentNullException ("type");
-               StringBuilder buf = new StringBuilder (type.Name.Length);
-               _AppendTypeName (buf, type, null);
-               AppendGenericTypeConstraints (buf, type);
-               return buf.ToString ();
-       }
-
-       protected virtual string GetConstructorDeclaration (MethodDefinition constructor)
-       {
-               return GetConstructorName (constructor);
-       }
-
-       protected virtual string GetMethodDeclaration (MethodDefinition method)
-       {
-               if (method.HasCustomAttributes && method.CustomAttributes.Cast<CustomAttribute>().Any(
-                                       ca => ca.GetDeclaringType() == "System.Diagnostics.Contracts.ContractInvariantMethodAttribute"))
-                       return null;
-
-               // Special signature for destructors.
-               if (method.Name == "Finalize" && method.Parameters.Count == 0)
-                       return GetFinalizerName (method);
-
-               StringBuilder buf = new StringBuilder ();
-
-               AppendVisibility (buf, method);
-               if (buf.Length == 0 && 
-                               !(DocUtils.IsExplicitlyImplemented (method) && !method.IsSpecialName))
-                       return null;
-
-               AppendModifiers (buf, method);
-
-               if (buf.Length != 0)
-                       buf.Append (" ");
-               buf.Append (GetTypeName (method.ReturnType, new DynamicParserContext (method.MethodReturnType))).Append (" ");
-
-               AppendMethodName (buf, method);
-               AppendGenericMethod (buf, method).Append (" ");
-               AppendParameters (buf, method, method.Parameters);
-               AppendGenericMethodConstraints (buf, method);
-               return buf.ToString ();
-       }
-
-       protected virtual StringBuilder AppendMethodName (StringBuilder buf, MethodDefinition method)
-       {
-               return buf.Append (method.Name);
-       }
-
-       protected virtual string GetFinalizerName (MethodDefinition method)
-       {
-               return "Finalize";
-       }
-
-       protected virtual StringBuilder AppendVisibility (StringBuilder buf, MethodDefinition method)
-       {
-               return buf;
-       }
-
-       protected virtual StringBuilder AppendModifiers (StringBuilder buf, MethodDefinition method)
-       {
-               return buf;
-       }
-
-       protected virtual StringBuilder AppendGenericMethod (StringBuilder buf, MethodDefinition method)
-       {
-               return buf;
-       }
-
-       protected virtual StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters)
-       {
-               return buf;
-       }
-
-       protected virtual StringBuilder AppendGenericMethodConstraints (StringBuilder buf, MethodDefinition method)
-       {
-               return buf;
-       }
-
-       protected virtual string GetPropertyDeclaration (PropertyDefinition property)
-       {
-               return GetPropertyName (property);
-       }
-
-       protected virtual string GetFieldDeclaration (FieldDefinition field)
-       {
-               return GetFieldName (field);
-       }
-
-       protected virtual string GetEventDeclaration (EventDefinition e)
-       {
-               return GetEventName (e);
-       }
-}
-
-class ILFullMemberFormatter : MemberFormatter {
-
-       public override string Language {
-               get {return "ILAsm";}
-       }
-
-       protected override char NestedTypeSeparator {
-               get {
-                       return '/';
-               }
-       }
-
-       protected override StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-               if (GetBuiltinType (type.FullName) != null)
-                       return buf;
-               string ns = DocUtils.GetNamespace (type);
-               if (ns != null && ns.Length > 0) {
-                       if (type.IsValueType)
-                               buf.Append ("valuetype ");
-                       else
-                               buf.Append ("class ");
-                       buf.Append (ns).Append ('.');
-               }
-               return buf;
-       }
-
-       protected static string GetBuiltinType (string t)
-       {
-               switch (t) {
-               case "System.Byte":    return "unsigned int8";
-               case "System.SByte":   return "int8";
-               case "System.Int16":   return "int16";
-               case "System.Int32":   return "int32";
-               case "System.Int64":   return "int64";
-               case "System.IntPtr":  return "native int";
-
-               case "System.UInt16":  return "unsigned int16";
-               case "System.UInt32":  return "unsigned int32";
-               case "System.UInt64":  return "unsigned int64";
-               case "System.UIntPtr": return "native unsigned int";
-
-               case "System.Single":  return "float32";
-               case "System.Double":  return "float64";
-               case "System.Boolean": return "bool";
-               case "System.Char":    return "char";
-               case "System.Void":    return "void";
-               case "System.String":  return "string";
-               case "System.Object":  return "object";
-               }
-               return null;
-       }
-
-       protected override StringBuilder AppendTypeName (StringBuilder buf, string typename)
-       {
-               return buf.Append (typename);
-       }
-
-       protected override StringBuilder AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (type is GenericParameter) {
-                       AppendGenericParameterConstraints (buf, (GenericParameter) type).Append (type.Name);
-                       return buf;
-               }
-
-               string s = GetBuiltinType (type.FullName);
-               if (s != null) {
-                       return buf.Append (s);
-               }
-               return base.AppendTypeName (buf, type, context);
-       }
-
-       private StringBuilder AppendGenericParameterConstraints (StringBuilder buf, GenericParameter type)
-       {
-               if (MemberFormatterState != MemberFormatterState.WithinGenericTypeParameters) {
-                       return buf.Append (type.Owner is TypeReference ? "!" : "!!");
-               }
-               GenericParameterAttributes attrs = type.Attributes;
-               if ((attrs & GenericParameterAttributes.ReferenceTypeConstraint) != 0)
-                       buf.Append ("class ");
-               if ((attrs & GenericParameterAttributes.NotNullableValueTypeConstraint) != 0)
-                       buf.Append ("struct ");
-               if ((attrs & GenericParameterAttributes.DefaultConstructorConstraint) != 0)
-                       buf.Append (".ctor ");
-               IList<TypeReference> constraints = type.Constraints;
-               MemberFormatterState = 0;
-               if (constraints.Count > 0) {
-                       var full = new ILFullMemberFormatter ();
-                       buf.Append ("(").Append (full.GetName (constraints [0]));
-                       for (int i = 1; i < constraints.Count; ++i) {
-                               buf.Append (", ").Append (full.GetName (constraints [i]));
-                       }
-                       buf.Append (") ");
-               }
-               MemberFormatterState = MemberFormatterState.WithinGenericTypeParameters;
-
-               if ((attrs & GenericParameterAttributes.Covariant) != 0)
-                       buf.Append ("+ ");
-               if ((attrs & GenericParameterAttributes.Contravariant) != 0)
-                       buf.Append ("- ");
-               return buf;
-       }
-
-       protected override string GetTypeDeclaration (TypeDefinition type)
-       {
-               string visibility = GetTypeVisibility (type.Attributes);
-               if (visibility == null)
-                       return null;
-
-               StringBuilder buf = new StringBuilder ();
-
-               buf.Append (".class ");
-               if (type.IsNested)
-                       buf.Append ("nested ");
-               buf.Append (visibility).Append (" ");
-               if (type.IsInterface)
-                       buf.Append ("interface ");
-               if (type.IsSequentialLayout)
-                       buf.Append ("sequential ");
-               if (type.IsAutoLayout)
-                       buf.Append ("auto ");
-               if (type.IsAnsiClass)
-                       buf.Append ("ansi ");
-               if (type.IsAbstract)
-                       buf.Append ("abstract ");
-               if (type.IsSerializable)
-                       buf.Append ("serializable ");
-               if (type.IsSealed)
-                       buf.Append ("sealed ");
-               if (type.IsBeforeFieldInit)
-                       buf.Append ("beforefieldinit ");
-               var state = MemberFormatterState;
-               MemberFormatterState = MemberFormatterState.WithinGenericTypeParameters;
-               buf.Append (GetName (type));
-               MemberFormatterState = state;
-               var full = new ILFullMemberFormatter ();
-               if (type.BaseType != null) {
-                       buf.Append (" extends ");
-                       if (type.BaseType.FullName == "System.Object")
-                               buf.Append ("System.Object");
-                       else
-                               buf.Append (full.GetName (type.BaseType).Substring ("class ".Length));
-               }
-               bool first = true;
-               foreach (var name in type.Interfaces.Where (i => MDocUpdater.IsPublic (i.InterfaceType.Resolve ()))
-                               .Select (i => full.GetName (i.InterfaceType))
-                               .OrderBy (n => n)) {
-                       if (first) {
-                               buf.Append (" implements ");
-                               first = false;
-                       }
-                       else {
-                               buf.Append (", ");
-                       }
-                       buf.Append (name);
-               }
-
-               return buf.ToString ();
-       }
-
-       protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               List<TypeReference> decls = DocUtils.GetDeclaringTypes (
-                               type is GenericInstanceType ? type.GetElementType () : type);
-               bool first = true;
-               foreach (var decl in decls) {
-                       TypeReference declDef = decl.Resolve () ?? decl;
-                       if (!first) {
-                               buf.Append (NestedTypeSeparator);
-                       }
-                       first = false;
-                       AppendTypeName (buf, declDef, context);
-               }
-               buf.Append ('<');
-               first = true;
-               foreach (TypeReference arg in GetGenericArguments (type)) {
-                       if (!first)
-                               buf.Append (", ");
-                       first = false;
-                       _AppendTypeName (buf, arg, context);
-               }
-               buf.Append ('>');
-               return buf;
-       }
-
-       static string GetTypeVisibility (TypeAttributes ta)
-       {
-               switch (ta & TypeAttributes.VisibilityMask) {
-               case TypeAttributes.Public:
-               case TypeAttributes.NestedPublic:
-                       return "public";
-
-               case TypeAttributes.NestedFamily:
-               case TypeAttributes.NestedFamORAssem:
-                       return "protected";
-
-               default:
-                       return null;
-               }
-       }
-
-       protected override string GetConstructorDeclaration (MethodDefinition constructor)
-       {
-               return GetMethodDeclaration (constructor);
-       }
-
-       protected override string GetMethodDeclaration (MethodDefinition method)
-       {
-               if (method.IsPrivate && !DocUtils.IsExplicitlyImplemented (method))
-                       return null;
-
-               var buf = new StringBuilder ();
-               buf.Append (".method ");
-               AppendVisibility (buf, method);
-               if (method.IsStatic)
-                       buf.Append ("static ");
-               if (method.IsHideBySig)
-                       buf.Append ("hidebysig ");
-               if (method.IsPInvokeImpl) {
-                       var info = method.PInvokeInfo;
-                       buf.Append ("pinvokeimpl (\"")
-                               .Append (info.Module.Name)
-                               .Append ("\" as \"")
-                               .Append (info.EntryPoint)
-                               .Append ("\"");
-                       if (info.IsCharSetAuto)
-                               buf.Append (" auto");
-                       if (info.IsCharSetUnicode)
-                               buf.Append (" unicode");
-                       if (info.IsCharSetAnsi)
-                               buf.Append (" ansi");
-                       if (info.IsCallConvCdecl)
-                               buf.Append (" cdecl");
-                       if (info.IsCallConvStdCall)
-                               buf.Append (" stdcall");
-                       if (info.IsCallConvWinapi)
-                               buf.Append (" winapi");
-                       if (info.IsCallConvThiscall)
-                               buf.Append (" thiscall");
-                       if (info.SupportsLastError)
-                               buf.Append (" lasterr");
-                       buf.Append (")");
-               }
-               if (method.IsSpecialName)
-                       buf.Append ("specialname ");
-               if (method.IsRuntimeSpecialName)
-                       buf.Append ("rtspecialname ");
-               if (method.IsNewSlot)
-                       buf.Append ("newslot ");
-               if (method.IsVirtual)
-                       buf.Append ("virtual ");
-               if (!method.IsStatic)
-                       buf.Append ("instance ");
-               _AppendTypeName (buf, method.ReturnType, new DynamicParserContext (method.MethodReturnType));
-               buf.Append (' ')
-                       .Append (method.Name);
-               if (method.IsGenericMethod ()) {
-                       var state = MemberFormatterState;
-                       MemberFormatterState = MemberFormatterState.WithinGenericTypeParameters;
-                       IList<GenericParameter> args = method.GenericParameters;
-                       if (args.Count > 0) {
-                               buf.Append ("<");
-                               _AppendTypeName (buf, args [0], null);
-                               for (int i = 1; i < args.Count; ++i)
-                                       _AppendTypeName (buf.Append (", "), args [i], null);
-                               buf.Append (">");
-                       }
-                       MemberFormatterState = state;
-               }
-
-               buf.Append ('(');
-               bool first = true;
-               for (int i = 0; i < method.Parameters.Count; ++i) {
-                       if (!first)
-                               buf.Append (", ");
-                       first = false;
-                       _AppendTypeName (buf, method.Parameters [i].ParameterType, new DynamicParserContext (method.Parameters [i]));
-                       buf.Append (' ');
-                       buf.Append (method.Parameters [i].Name);
-               }
-               buf.Append (')');
-               if (method.IsIL)
-                       buf.Append (" cil");
-               if (method.IsRuntime)
-                       buf.Append (" runtime");
-               if (method.IsManaged)
-                       buf.Append (" managed");
-
-               return buf.ToString ();
-       }
-
-       protected override StringBuilder AppendMethodName (StringBuilder buf, MethodDefinition method)
-       {
-               if (DocUtils.IsExplicitlyImplemented (method)) {
-                       TypeReference iface;
-                       MethodReference ifaceMethod;
-                       DocUtils.GetInfoForExplicitlyImplementedMethod (method, out iface, out ifaceMethod);
-                       return buf.Append (new CSharpMemberFormatter ().GetName (iface))
-                               .Append ('.')
-                               .Append (ifaceMethod.Name);
-               }
-               return base.AppendMethodName (buf, method);
-       }
-
-       protected override string RefTypeModifier {
-               get {return "";}
-       }
-
-       protected override StringBuilder AppendVisibility (StringBuilder buf, MethodDefinition method)
-       {
-               if (method.IsPublic)
-                       return buf.Append ("public ");
-               if (method.IsFamilyAndAssembly)
-                       return buf.Append ("familyandassembly");
-               if (method.IsFamilyOrAssembly)
-                       return buf.Append ("familyorassembly");
-               if (method.IsFamily)
-                       return buf.Append ("family");
-               return buf;
-       }
-
-       protected override StringBuilder AppendModifiers (StringBuilder buf, MethodDefinition method)
-       {
-               string modifiers = String.Empty;
-               if (method.IsStatic) modifiers += " static";
-               if (method.IsVirtual && !method.IsAbstract) {
-                       if ((method.Attributes & MethodAttributes.NewSlot) != 0) modifiers += " virtual";
-                       else modifiers += " override";
-               }
-               TypeDefinition declType = (TypeDefinition) method.DeclaringType;
-               if (method.IsAbstract && !declType.IsInterface) modifiers += " abstract";
-               if (method.IsFinal) modifiers += " sealed";
-               if (modifiers == " virtual sealed") modifiers = "";
-
-               return buf.Append (modifiers);
-       }
-
-       protected override StringBuilder AppendGenericMethod (StringBuilder buf, MethodDefinition method)
-       {
-               if (method.IsGenericMethod ()) {
-                       IList<GenericParameter> args = method.GenericParameters;
-                       if (args.Count > 0) {
-                               buf.Append ("<");
-                               buf.Append (args [0].Name);
-                               for (int i = 1; i < args.Count; ++i)
-                                       buf.Append (",").Append (args [i].Name);
-                               buf.Append (">");
-                       }
-               }
-               return buf;
-       }
-
-       protected override StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters)
-       {
-               return AppendParameters (buf, method, parameters, '(', ')');
-       }
-
-       private StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters, char begin, char end)
-       {
-               buf.Append (begin);
-
-               if (parameters.Count > 0) {
-                       if (DocUtils.IsExtensionMethod (method))
-                               buf.Append ("this ");
-                       AppendParameter (buf, parameters [0]);
-                       for (int i = 1; i < parameters.Count; ++i) {
-                               buf.Append (", ");
-                               AppendParameter (buf, parameters [i]);
-                       }
-               }
-
-               return buf.Append (end);
-       }
-
-       private StringBuilder AppendParameter (StringBuilder buf, ParameterDefinition parameter)
-       {
-               if (parameter.ParameterType is ByReferenceType) {
-                       if (parameter.IsOut)
-                               buf.Append ("out ");
-                       else
-                               buf.Append ("ref ");
-               }
-               buf.Append (GetName (parameter.ParameterType)).Append (" ");
-               return buf.Append (parameter.Name);
-       }
-
-       protected override string GetPropertyDeclaration (PropertyDefinition property)
-       {
-               MethodDefinition gm = null, sm = null;
-
-               string get_visible = null;
-               if ((gm = property.GetMethod) != null &&
-                               (DocUtils.IsExplicitlyImplemented (gm) ||
-                                (!gm.IsPrivate && !gm.IsAssembly && !gm.IsFamilyAndAssembly)))
-                       get_visible = AppendVisibility (new StringBuilder (), gm).ToString ();
-               string set_visible = null;
-               if ((sm = property.SetMethod) != null &&
-                               (DocUtils.IsExplicitlyImplemented (sm) ||
-                                (!sm.IsPrivate && !sm.IsAssembly && !sm.IsFamilyAndAssembly)))
-                       set_visible = AppendVisibility (new StringBuilder (), sm).ToString ();
-
-               if ((set_visible == null) && (get_visible == null))
-                       return null;
-
-               StringBuilder buf = new StringBuilder ()
-                       .Append (".property ");
-               if (!(gm ?? sm).IsStatic)
-                       buf.Append ("instance ");
-               _AppendTypeName (buf, property.PropertyType, new DynamicParserContext (property));
-               buf.Append (' ').Append (property.Name);
-               if (!property.HasParameters || property.Parameters.Count == 0)
-                       return buf.ToString ();
-
-               buf.Append ('(');
-               bool first = true;
-               foreach (ParameterDefinition p in property.Parameters) {
-                       if (!first)
-                               buf.Append (", ");
-                       first = false;
-                       _AppendTypeName (buf, p.ParameterType, new DynamicParserContext (p));
-               }
-               buf.Append (')');
-
-               return buf.ToString ();
-       }
-
-       protected override string GetFieldDeclaration (FieldDefinition field)
-       {
-               TypeDefinition declType = (TypeDefinition) field.DeclaringType;
-               if (declType.IsEnum && field.Name == "value__")
-                       return null; // This member of enums aren't documented.
-
-               StringBuilder buf = new StringBuilder ();
-               AppendFieldVisibility (buf, field);
-               if (buf.Length == 0)
-                       return null;
-
-               buf.Insert (0, ".field ");
-
-               if (field.IsStatic)
-                       buf.Append ("static ");
-               if (field.IsInitOnly)
-                       buf.Append ("initonly ");
-               if (field.IsLiteral)
-                       buf.Append ("literal ");
-               _AppendTypeName (buf, field.FieldType, new DynamicParserContext (field));
-               buf.Append (' ').Append (field.Name);
-               AppendFieldValue (buf, field);
-
-               return buf.ToString ();
-       }
-
-       static StringBuilder AppendFieldVisibility (StringBuilder buf, FieldDefinition field)
-       {
-               if (field.IsPublic)
-                       return buf.Append ("public ");
-               if (field.IsFamilyAndAssembly)
-                       return buf.Append ("familyandassembly ");
-               if (field.IsFamilyOrAssembly)
-                       return buf.Append ("familyorassembly ");
-               if (field.IsFamily)
-                       return buf.Append ("family ");
-               return buf;
-       }
-
-       static StringBuilder AppendFieldValue (StringBuilder buf, FieldDefinition field)
-       {
-               // enums have a value__ field, which we ignore
-               if (field.DeclaringType.IsGenericType ())
-                       return buf;
-               if (field.HasConstant && field.IsLiteral) {
-                       object val = null;
-                       try {
-                               val   = field.Constant;
-                       } catch {
-                               return buf;
-                       }
-                       if (val == null)
-                               buf.Append (" = ").Append ("null");
-                       else if (val is Enum)
-                               buf.Append (" = ")
-                                       .Append (GetBuiltinType (field.DeclaringType.GetUnderlyingType ().FullName))
-                                       .Append ('(')
-                                       .Append (val.ToString ())
-                                       .Append (')');
-                       else if (val is IFormattable) {
-                               string value = ((IFormattable)val).ToString(null, CultureInfo.InvariantCulture);
-                               buf.Append (" = ");
-                               if (val is string)
-                                       buf.Append ("\"" + value + "\"");
-                               else
-                                       buf.Append (GetBuiltinType (field.DeclaringType.GetUnderlyingType ().FullName))
-                                               .Append ('(')
-                                               .Append (value)
-                                               .Append (')');
-                       }
-               }
-               return buf;
-       }
-
-       protected override string GetEventDeclaration (EventDefinition e)
-       {
-               StringBuilder buf = new StringBuilder ();
-               if (AppendVisibility (buf, e.AddMethod).Length == 0) {
-                       return null;
-               }
-
-               buf.Length = 0;
-               buf.Append (".event ")
-                       .Append (GetName (e.EventType))
-                       .Append (' ')
-                       .Append (e.Name);
-
-               return buf.ToString ();
-       }
-}
-
-class ILMemberFormatter : ILFullMemberFormatter {
-       protected override StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-               return buf;
-       }
-}
-
-       class ILNativeTypeMemberFormatter : ILFullMemberFormatter {
-               protected static string _GetBuiltinType (string t)
-               {
-                       //string moddedType = base.GetBuiltinType (t);
-                       return null;
-                       //return moddedType;
-               }
-       }
-
-       class CSharpNativeTypeMemberFormatter : CSharpFullMemberFormatter {
-               protected override string GetCSharpType (string t) {
-                       string moddedType = base.GetCSharpType (t);
-
-                       switch (moddedType) {
-                       case "int":             return "nint";
-                       case "uint":
-                               return "nuint";
-                       case "float":
-                               return "nfloat";
-                       case "System.Drawing.SizeF":
-                               return "CoreGraphics.CGSize";
-                       case "System.Drawing.PointF":
-                               return "CoreGraphics.CGPoint";
-                       case "System.Drawing.RectangleF":
-                               return "CoreGraphics.CGPoint";
-                       }
-                       return null;
-               }
-       }
-
-class CSharpFullMemberFormatter : MemberFormatter {
-
-       public override string Language {
-               get {return "C#";}
-       }
-
-       protected override StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-
-               string ns = DocUtils.GetNamespace (type);
-               if (GetCSharpType (type.FullName) == null && ns != null && ns.Length > 0 && ns != "System")
-                       buf.Append (ns).Append ('.');
-               return buf;
-       }
-
-       protected virtual string GetCSharpType (string t)
-       {
-               switch (t) {
-               case "System.Byte":    return "byte";
-               case "System.SByte":   return "sbyte";
-               case "System.Int16":   return "short";
-               case "System.Int32":   return "int";
-               case "System.Int64":   return "long";
-
-               case "System.UInt16":  return "ushort";
-               case "System.UInt32":  return "uint";
-               case "System.UInt64":  return "ulong";
-
-               case "System.Single":  return "float";
-               case "System.Double":  return "double";
-               case "System.Decimal": return "decimal";
-               case "System.Boolean": return "bool";
-               case "System.Char":    return "char";
-               case "System.Void":    return "void";
-               case "System.String":  return "string";
-               case "System.Object":  return "object";
-               }
-               return null;
-       }
-
-       protected override StringBuilder AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (context != null && context.TransformFlags != null &&
-                               (context.TransformFlags.Count == 0 || context.TransformFlags [context.TransformIndex])) {
-                       context.TransformIndex++;
-                       return buf.Append ("dynamic");
-               }
-
-               if (type is GenericParameter)
-                       return AppendGenericParameterConstraints (buf, (GenericParameter) type, context).Append (type.Name);
-               string t = type.FullName;
-               if (!t.StartsWith ("System.")) {
-                       return base.AppendTypeName (buf, type, context);
-               }
-
-               string s = GetCSharpType (t);
-               if (s != null) {
-                       if (context != null)
-                               context.TransformIndex++;
-                       return buf.Append (s);
-               }
-               
-               return base.AppendTypeName (buf, type, context);
-       }
-
-       private StringBuilder AppendGenericParameterConstraints (StringBuilder buf, GenericParameter type, DynamicParserContext context)
-       {
-               if (MemberFormatterState != MemberFormatterState.WithinGenericTypeParameters)
-                       return buf;
-               GenericParameterAttributes attrs = type.Attributes;
-               bool isout = (attrs & GenericParameterAttributes.Covariant) != 0;
-               bool isin  = (attrs & GenericParameterAttributes.Contravariant) != 0;
-               if (isin)
-                       buf.Append ("in ");
-               else if (isout)
-                       buf.Append ("out ");
-               return buf;
-       }
-
-       protected override string GetTypeDeclaration (TypeDefinition type)
-       {
-               string visibility = GetTypeVisibility (type.Attributes);
-               if (visibility == null)
-                       return null;
-
-               StringBuilder buf = new StringBuilder ();
-               
-               buf.Append (visibility);
-               buf.Append (" ");
-
-               MemberFormatter full = new CSharpFullMemberFormatter ();
-
-               if (DocUtils.IsDelegate (type)) {
-                       buf.Append("delegate ");
-                       MethodDefinition invoke = type.GetMethod ("Invoke");
-                       buf.Append (full.GetName (invoke.ReturnType, new DynamicParserContext (invoke.MethodReturnType))).Append (" ");
-                       buf.Append (GetName (type));
-                       AppendParameters (buf, invoke, invoke.Parameters);
-                       AppendGenericTypeConstraints (buf, type);
-                       buf.Append (";");
-
-                       return buf.ToString();
-               }
-               
-               if (type.IsAbstract && !type.IsInterface)
-                       buf.Append("abstract ");
-               if (type.IsSealed && !DocUtils.IsDelegate (type) && !type.IsValueType)
-                       buf.Append("sealed ");
-               buf.Replace ("abstract sealed", "static");
-
-               buf.Append (GetTypeKind (type));
-               buf.Append (" ");
-               buf.Append (GetCSharpType (type.FullName) == null 
-                               ? GetName (type) 
-                               : type.Name);
-
-               if (!type.IsEnum) {
-                       TypeReference basetype = type.BaseType;
-                       if (basetype != null && basetype.FullName == "System.Object" || type.IsValueType)       // FIXME
-                               basetype = null;
-
-                       List<string> interface_names = DocUtils.GetUserImplementedInterfaces (type)
-                                       .Select (iface => full.GetName (iface))
-                                       .OrderBy (s => s)
-                                       .ToList ();
-
-                       if (basetype != null || interface_names.Count > 0)
-                               buf.Append (" : ");
-                       
-                       if (basetype != null) {
-                               buf.Append (full.GetName (basetype));
-                               if (interface_names.Count > 0)
-                                       buf.Append (", ");
-                       }
-                       
-                       for (int i = 0; i < interface_names.Count; i++){
-                               if (i != 0)
-                                       buf.Append (", ");
-                               buf.Append (interface_names [i]);
-                       }
-                       AppendGenericTypeConstraints (buf, type);
-               }
-
-               return buf.ToString ();
-       }
-
-       static string GetTypeKind (TypeDefinition t)
-       {
-               if (t.IsEnum)
-                       return "enum";
-               if (t.IsValueType)
-                       return "struct";
-               if (t.IsClass || t.FullName == "System.Enum")
-                       return "class";
-               if (t.IsInterface)
-                       return "interface";
-               throw new ArgumentException(t.FullName);
-       }
-
-       static string GetTypeVisibility (TypeAttributes ta)
-       {
-               switch (ta & TypeAttributes.VisibilityMask) {
-               case TypeAttributes.Public:
-               case TypeAttributes.NestedPublic:
-                       return "public";
-
-               case TypeAttributes.NestedFamily:
-               case TypeAttributes.NestedFamORAssem:
-                       return "protected";
-
-               default:
-                       return null;
-               }
-       }
-
-       protected override StringBuilder AppendGenericTypeConstraints (StringBuilder buf, TypeReference type)
-       {
-               if (type.GenericParameters.Count == 0)
-                       return buf;
-               return AppendConstraints (buf, type.GenericParameters);
-       }
-
-       private StringBuilder AppendConstraints (StringBuilder buf, IList<GenericParameter> genArgs)
-       {
-               foreach (GenericParameter genArg in genArgs) {
-                       GenericParameterAttributes attrs = genArg.Attributes;
-                       IList<TypeReference> constraints = genArg.Constraints;
-                       if (attrs == GenericParameterAttributes.NonVariant && constraints.Count == 0)
-                               continue;
-
-                       bool isref = (attrs & GenericParameterAttributes.ReferenceTypeConstraint) != 0;
-                       bool isvt  = (attrs & GenericParameterAttributes.NotNullableValueTypeConstraint) != 0;
-                       bool isnew = (attrs & GenericParameterAttributes.DefaultConstructorConstraint) != 0;
-                       bool comma = false;
-
-                       if (!isref && !isvt && !isnew && constraints.Count == 0)
-                               continue;
-                       buf.Append (" where ").Append (genArg.Name).Append (" : ");
-                       if (isref) {
-                               buf.Append ("class");
-                               comma = true;
-                       }
-                       else if (isvt) {
-                               buf.Append ("struct");
-                               comma = true;
-                       }
-                       if (constraints.Count > 0 && !isvt) {
-                               if (comma)
-                                       buf.Append (", ");
-                               buf.Append (GetTypeName (constraints [0]));
-                               for (int i = 1; i < constraints.Count; ++i)
-                                       buf.Append (", ").Append (GetTypeName (constraints [i]));
-                       }
-                       if (isnew && !isvt) {
-                               if (comma)
-                                       buf.Append (", ");
-                               buf.Append ("new()");
-                       }
-               }
-               return buf;
-       }
-
-       protected override string GetConstructorDeclaration (MethodDefinition constructor)
-       {
-               StringBuilder buf = new StringBuilder ();
-               AppendVisibility (buf, constructor);
-               if (buf.Length == 0)
-                       return null;
-
-               buf.Append (' ');
-               base.AppendTypeName (buf, constructor.DeclaringType.Name).Append (' ');
-               AppendParameters (buf, constructor, constructor.Parameters);
-               buf.Append (';');
-
-               return buf.ToString ();
-       }
-       
-       protected override string GetMethodDeclaration (MethodDefinition method)
-       {
-               string decl = base.GetMethodDeclaration (method);
-               if (decl != null)
-                       return decl + ";";
-               return null;
-       }
-
-       protected override StringBuilder AppendMethodName (StringBuilder buf, MethodDefinition method)
-       {
-               if (DocUtils.IsExplicitlyImplemented (method)) {
-                       TypeReference iface;
-                       MethodReference ifaceMethod;
-                       DocUtils.GetInfoForExplicitlyImplementedMethod (method, out iface, out ifaceMethod);
-                       return buf.Append (new CSharpMemberFormatter ().GetName (iface))
-                               .Append ('.')
-                               .Append (ifaceMethod.Name);
-               }
-               return base.AppendMethodName (buf, method);
-       }
-
-       protected override StringBuilder AppendGenericMethodConstraints (StringBuilder buf, MethodDefinition method)
-       {
-               if (method.GenericParameters.Count == 0)
-                       return buf;
-               return AppendConstraints (buf, method.GenericParameters);
-       }
-
-       protected override string RefTypeModifier {
-               get {return "";}
-       }
-
-       protected override string GetFinalizerName (MethodDefinition method)
-       {
-               return "~" + method.DeclaringType.Name + " ()"; 
-       }
-
-       protected override StringBuilder AppendVisibility (StringBuilder buf, MethodDefinition method)
-       {
-               if (method == null)
-                       return buf;
-               if (method.IsPublic)
-                       return buf.Append ("public");
-               if (method.IsFamily || method.IsFamilyOrAssembly)
-                       return buf.Append ("protected");
-               return buf;
-       }
-
-       protected override StringBuilder AppendModifiers (StringBuilder buf, MethodDefinition method)
-       {
-               string modifiers = String.Empty;
-               if (method.IsStatic) modifiers += " static";
-               if (method.IsVirtual && !method.IsAbstract) {
-                       if ((method.Attributes & MethodAttributes.NewSlot) != 0) modifiers += " virtual";
-                       else modifiers += " override";
-               }
-               TypeDefinition declType = (TypeDefinition) method.DeclaringType;
-               if (method.IsAbstract && !declType.IsInterface) modifiers += " abstract";
-               if (method.IsFinal) modifiers += " sealed";
-               if (modifiers == " virtual sealed") modifiers = "";
-
-               return buf.Append (modifiers);
-       }
-
-       protected override StringBuilder AppendGenericMethod (StringBuilder buf, MethodDefinition method)
-       {
-               if (method.IsGenericMethod ()) {
-                       IList<GenericParameter> args = method.GenericParameters;
-                       if (args.Count > 0) {
-                               buf.Append ("<");
-                               buf.Append (args [0].Name);
-                               for (int i = 1; i < args.Count; ++i)
-                                       buf.Append (",").Append (args [i].Name);
-                               buf.Append (">");
-                       }
-               }
-               return buf;
-       }
-
-       protected override StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters)
-       {
-               return AppendParameters (buf, method, parameters, '(', ')');
-       }
-
-       private StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters, char begin, char end)
-       {
-               buf.Append (begin);
-
-               if (parameters.Count > 0) {
-                       if (DocUtils.IsExtensionMethod (method))
-                               buf.Append ("this ");
-                       AppendParameter (buf, parameters [0]);
-                       for (int i = 1; i < parameters.Count; ++i) {
-                               buf.Append (", ");
-                               AppendParameter (buf, parameters [i]);
-                       }
-               }
-
-               return buf.Append (end);
-       }
-
-       private StringBuilder AppendParameter (StringBuilder buf, ParameterDefinition parameter)
-       {
-               if (parameter.ParameterType is ByReferenceType) {
-                       if (parameter.IsOut)
-                               buf.Append ("out ");
-                       else
-                               buf.Append ("ref ");
-               }
-               buf.Append (GetTypeName (parameter.ParameterType, new DynamicParserContext (parameter))).Append (" ");
-               buf.Append (parameter.Name);
-               if (parameter.HasDefault && parameter.IsOptional && parameter.HasConstant) {
-                       buf.AppendFormat (" = {0}", MDocUpdater.MakeAttributesValueString (parameter.Constant, parameter.ParameterType));
-               }
-               return buf;
-       }
-
-       protected override string GetPropertyDeclaration (PropertyDefinition property)
-       {
-               MethodDefinition method;
-
-               string get_visible = null;
-               if ((method = property.GetMethod) != null && 
-                               (DocUtils.IsExplicitlyImplemented (method) || 
-                                (!method.IsPrivate && !method.IsAssembly && !method.IsFamilyAndAssembly)))
-                       get_visible = AppendVisibility (new StringBuilder (), method).ToString ();
-               string set_visible = null;
-               if ((method = property.SetMethod) != null &&
-                               (DocUtils.IsExplicitlyImplemented (method) || 
-                                (!method.IsPrivate && !method.IsAssembly && !method.IsFamilyAndAssembly)))
-                       set_visible = AppendVisibility (new StringBuilder (), method).ToString ();
-
-               if ((set_visible == null) && (get_visible == null))
-                       return null;
-
-               string visibility;
-               StringBuilder buf = new StringBuilder ();
-               if (get_visible != null && (set_visible == null || (set_visible != null && get_visible == set_visible)))
-                       buf.Append (visibility = get_visible);
-               else if (set_visible != null && get_visible == null)
-                       buf.Append (visibility = set_visible);
-               else
-                       buf.Append (visibility = "public");
-
-               // Pick an accessor to use for static/virtual/override/etc. checks.
-               method = property.SetMethod;
-               if (method == null)
-                       method = property.GetMethod;
-       
-               string modifiers = String.Empty;
-               if (method.IsStatic) modifiers += " static";
-               if (method.IsVirtual && !method.IsAbstract) {
-                               if ((method.Attributes & MethodAttributes.NewSlot) != 0)
-                                       modifiers += " virtual";
-                               else
-                                       modifiers += " override";
-               }
-               TypeDefinition declDef = (TypeDefinition) method.DeclaringType;
-               if (method.IsAbstract && !declDef.IsInterface)
-                       modifiers += " abstract";
-               if (method.IsFinal)
-                       modifiers += " sealed";
-               if (modifiers == " virtual sealed")
-                       modifiers = "";
-               buf.Append (modifiers).Append (' ');
-
-               buf.Append (GetTypeName (property.PropertyType, new DynamicParserContext (property))).Append (' ');
-
-               IEnumerable<MemberReference> defs = property.DeclaringType.GetDefaultMembers ();
-               string name = property.Name;
-               foreach (MemberReference mi in defs) {
-                       if (mi == property) {
-                               name = "this";
-                               break;
-                       }
-               }
-               buf.Append (name == "this" ? name : DocUtils.GetPropertyName (property));
-       
-               if (property.Parameters.Count != 0) {
-                       AppendParameters (buf, method, property.Parameters, '[', ']');
-               }
-
-               buf.Append (" {");
-               if (get_visible != null) {
-                       if (get_visible != visibility)
-                               buf.Append (' ').Append (get_visible);
-                       buf.Append (" get;");
-               }
-               if (set_visible != null) {
-                       if (set_visible != visibility)
-                               buf.Append (' ').Append (set_visible);
-                       buf.Append (" set;");
-               }
-               buf.Append (" }");
-       
-               return buf [0] != ' ' ? buf.ToString () : buf.ToString (1, buf.Length-1);
-       }
-
-       protected override string GetFieldDeclaration (FieldDefinition field)
-       {
-               TypeDefinition declType = (TypeDefinition) field.DeclaringType;
-               if (declType.IsEnum && field.Name == "value__")
-                       return null; // This member of enums aren't documented.
-
-               StringBuilder buf = new StringBuilder ();
-               AppendFieldVisibility (buf, field);
-               if (buf.Length == 0)
-                       return null;
-
-               if (declType.IsEnum)
-                       return field.Name;
-
-               if (field.IsStatic && !field.IsLiteral)
-                       buf.Append (" static");
-               if (field.IsInitOnly)
-                       buf.Append (" readonly");
-               if (field.IsLiteral)
-                       buf.Append (" const");
-
-               buf.Append (' ').Append (GetTypeName (field.FieldType, new DynamicParserContext (field))).Append (' ');
-               buf.Append (field.Name);
-               AppendFieldValue (buf, field);
-               buf.Append (';');
-
-               return buf.ToString ();
-       }
-
-       static StringBuilder AppendFieldVisibility (StringBuilder buf, FieldDefinition field)
-       {
-               if (field.IsPublic)
-                       return buf.Append ("public");
-               if (field.IsFamily || field.IsFamilyOrAssembly)
-                       return buf.Append ("protected");
-               return buf;
-       }
-
-       static StringBuilder AppendFieldValue (StringBuilder buf, FieldDefinition field)
-       {
-               // enums have a value__ field, which we ignore
-               if (((TypeDefinition ) field.DeclaringType).IsEnum || 
-                               field.DeclaringType.IsGenericType ())
-                       return buf;
-               if (field.HasConstant && field.IsLiteral) {
-                       object val = null;
-                       try {
-                               val   = field.Constant;
-                       } catch {
-                               return buf;
-                       }
-                       if (val == null)
-                               buf.Append (" = ").Append ("null");
-                       else if (val is Enum)
-                               buf.Append (" = ").Append (val.ToString ());
-                       else if (val is IFormattable) {
-                               string value = ((IFormattable)val).ToString(null, CultureInfo.InvariantCulture);
-                               if (val is string)
-                                       value = "\"" + value + "\"";
-                               buf.Append (" = ").Append (value);
-                       }
-               }
-               return buf;
-       }
-
-       protected override string GetEventDeclaration (EventDefinition e)
-       {
-               StringBuilder buf = new StringBuilder ();
-               if (AppendVisibility (buf, e.AddMethod).Length == 0) {
-                       return null;
-               }
-
-               AppendModifiers (buf, e.AddMethod);
-
-               buf.Append (" event ");
-               buf.Append (GetTypeName (e.EventType, new DynamicParserContext (e.AddMethod.Parameters [0]))).Append (' ');
-               buf.Append (e.Name).Append (';');
-
-               return buf.ToString ();
-       }
-}
-
-class CSharpMemberFormatter : CSharpFullMemberFormatter {
-       protected override StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-               return buf;
-       }
-}
-
-class DocTypeFullMemberFormatter : MemberFormatter {
-       public static readonly MemberFormatter Default = new DocTypeFullMemberFormatter ();
-
-       protected override char NestedTypeSeparator {
-               get {return '+';}
-       }
-}
-
-class DocTypeMemberFormatter : DocTypeFullMemberFormatter {
-       protected override StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-               return buf;
-       }
-}
-
-class SlashDocMemberFormatter : MemberFormatter {
-
-       protected override char[] GenericTypeContainer {
-               get {return new char[]{'{', '}'};}
-       }
-
-       private bool AddTypeCount = true;
-
-       private TypeReference genDeclType;
-       private MethodReference genDeclMethod;
-
-       protected override StringBuilder AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (type is GenericParameter) {
-                       int l = buf.Length;
-                       if (genDeclType != null) {
-                               IList<GenericParameter> genArgs = genDeclType.GenericParameters;
-                               for (int i = 0; i < genArgs.Count; ++i) {
-                                       if (genArgs [i].Name == type.Name) {
-                                               buf.Append ('`').Append (i);
-                                               break;
-                                       }
-                               }
-                       }
-                       if (genDeclMethod != null) {
-                               IList<GenericParameter> genArgs = null;
-                               if (genDeclMethod.IsGenericMethod ()) {
-                                       genArgs = genDeclMethod.GenericParameters;
-                                       for (int i = 0; i < genArgs.Count; ++i) {
-                                               if (genArgs [i].Name == type.Name) {
-                                                       buf.Append ("``").Append (i);
-                                                       break;
-                                               }
-                                       }
-                               }
-                       }
-                       if (genDeclType == null && genDeclMethod == null) {
-                               // Probably from within an explicitly implemented interface member,
-                               // where CSC uses parameter names instead of indices (why?), e.g.
-                               // MyList`2.Mono#DocTest#Generic#IFoo{A}#Method``1(`0,``0) instead of
-                               // MyList`2.Mono#DocTest#Generic#IFoo{`0}#Method``1(`0,``0).
-                               buf.Append (type.Name);
-                       }
-                       if (buf.Length == l) {
-                               throw new Exception (string.Format (
-                                               "Unable to translate generic parameter {0}; genDeclType={1}, genDeclMethod={2}", 
-                                               type.Name, genDeclType, genDeclMethod));
-                       }
-               }
-               else {
-                       base.AppendTypeName (buf, type, context);
-                       if (AddTypeCount) {
-                               int numArgs = type.GenericParameters.Count;
-                               if (type.DeclaringType != null)
-                                       numArgs -= type.GenericParameters.Count;
-                               if (numArgs > 0) {
-                                       buf.Append ('`').Append (numArgs);
-                               }
-                       }
-               }
-               return buf;
-       }
-
-       protected override StringBuilder AppendArrayModifiers (StringBuilder buf, ArrayType array)
-       {
-               buf.Append (ArrayDelimeters [0]);
-               int rank = array.Rank;
-               if (rank > 1) {
-                       buf.Append ("0:");
-                       for (int i = 1; i < rank; ++i) {
-                               buf.Append (",0:");
-                       }
-               }
-               return buf.Append (ArrayDelimeters [1]);
-       }
-
-       protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               if (!AddTypeCount)
-                       base.AppendGenericType (buf, type, context);
-               else
-                       AppendType (buf, type, context);
-               return buf;
-       }
-
-       private StringBuilder AppendType (StringBuilder buf, TypeReference type, DynamicParserContext context)
-       {
-               List<TypeReference> decls = DocUtils.GetDeclaringTypes (type);
-               bool insertNested = false;
-               int prevParamCount = 0;
-               foreach (var decl in decls) {
-                       if (insertNested)
-                               buf.Append (NestedTypeSeparator);
-                       insertNested = true;
-                       base.AppendTypeName (buf, decl, context);
-                       int argCount = DocUtils.GetGenericArgumentCount (decl);
-                       int numArgs = argCount - prevParamCount;
-                       prevParamCount = argCount;
-                       if (numArgs > 0)
-                               buf.Append ('`').Append (numArgs);
-               }
-               return buf;
-       }
-
-       protected override string GetConstructorName (MethodReference constructor)
-       {
-               return GetMethodDefinitionName (constructor, "#ctor");
-       }
-
-       protected override string GetMethodName (MethodReference method)
-       {
-               string name = null;
-               MethodDefinition methodDef = method as MethodDefinition;
-               if (methodDef == null || !DocUtils.IsExplicitlyImplemented (methodDef))
-                       name = method.Name;
-               else {
-                       TypeReference iface;
-                       MethodReference ifaceMethod;
-                       DocUtils.GetInfoForExplicitlyImplementedMethod (methodDef, out iface, out ifaceMethod);
-                       AddTypeCount = false;
-                       name = GetTypeName (iface) + "." + ifaceMethod.Name;
-                       AddTypeCount = true;
-               }
-               return GetMethodDefinitionName (method, name);
-       }
-
-       private string GetMethodDefinitionName (MethodReference method, string name)
-       {
-               StringBuilder buf = new StringBuilder ();
-               buf.Append (GetTypeName (method.DeclaringType));
-               buf.Append ('.');
-               buf.Append (name.Replace (".", "#"));
-               if (method.IsGenericMethod ()) {
-                       IList<GenericParameter> genArgs = method.GenericParameters;
-                       if (genArgs.Count > 0)
-                               buf.Append ("``").Append (genArgs.Count);
-               }
-               IList<ParameterDefinition> parameters = method.Parameters;
-               try {
-                       genDeclType   = method.DeclaringType;
-                       genDeclMethod = method;
-                       AppendParameters (buf, method.DeclaringType.GenericParameters, parameters);
-               }
-               finally {
-                       genDeclType   = null;
-                       genDeclMethod = null;
-               }
-               return buf.ToString ();
-       }
-
-       private StringBuilder AppendParameters (StringBuilder buf, IList<GenericParameter> genArgs, IList<ParameterDefinition> parameters)
-       {
-               if (parameters.Count == 0)
-                       return buf;
-
-               buf.Append ('(');
-
-               AppendParameter (buf, genArgs, parameters [0]);
-               for (int i = 1; i < parameters.Count; ++i) {
-                       buf.Append (',');
-                       AppendParameter (buf, genArgs, parameters [i]);
-               }
-
-               return buf.Append (')');
-       }
-
-       private StringBuilder AppendParameter (StringBuilder buf, IList<GenericParameter> genArgs, ParameterDefinition parameter)
-       {
-               AddTypeCount = false;
-               buf.Append (GetTypeName (parameter.ParameterType));
-               AddTypeCount = true;
-               return buf;
-       }
-
-       protected override string GetPropertyName (PropertyReference property)
-       {
-               string name = null;
-
-               PropertyDefinition propertyDef = property as PropertyDefinition;
-               MethodDefinition method = null;
-               if (propertyDef != null)
-                       method = propertyDef.GetMethod ?? propertyDef.SetMethod;
-               if (method != null && !DocUtils.IsExplicitlyImplemented (method))
-                       name = property.Name;
-               else {
-                       TypeReference iface;
-                       MethodReference ifaceMethod;
-                       DocUtils.GetInfoForExplicitlyImplementedMethod (method, out iface, out ifaceMethod);
-                       AddTypeCount = false;
-                       name = string.Join ("#", new string[]{
-                                       GetTypeName (iface).Replace (".", "#"),
-                                       DocUtils.GetMember (property.Name)
-                       });
-                       AddTypeCount = true;
-               }
-
-               StringBuilder buf = new StringBuilder ();
-               buf.Append (GetName (property.DeclaringType));
-               buf.Append ('.');
-               buf.Append (name);
-               IList<ParameterDefinition> parameters = property.Parameters;
-               if (parameters.Count > 0) {
-                       genDeclType = property.DeclaringType;
-                       buf.Append ('(');
-                       IList<GenericParameter> genArgs = property.DeclaringType.GenericParameters;
-                       AppendParameter (buf, genArgs, parameters [0]);
-                       for (int i = 1; i < parameters.Count; ++i) {
-                                buf.Append (',');
-                                AppendParameter (buf, genArgs, parameters [i]);
-                       }
-                       buf.Append (')');
-                       genDeclType = null;
-               }
-               return buf.ToString ();
-       }
-
-       protected override string GetFieldName (FieldReference field)
-       {
-               return string.Format ("{0}.{1}",
-                       GetName (field.DeclaringType), field.Name);
-       }
-
-       protected override string GetEventName (EventReference e)
-       {
-               return string.Format ("{0}.{1}",
-                       GetName (e.DeclaringType), e.Name);
-       }
-
-       protected override string GetTypeDeclaration (TypeDefinition type)
-       {
-               string name = GetName (type);
-               if (type == null)
-                       return null;
-               return "T:" + name;
-       }
-
-       protected override string GetConstructorDeclaration (MethodDefinition constructor)
-       {
-               string name = GetName (constructor);
-               if (name == null)
-                       return null;
-               return "M:" + name;
-       }
-
-       protected override string GetMethodDeclaration (MethodDefinition method)
-       {
-               string name = GetName (method);
-               if (name == null)
-                       return null;
-               if (method.Name == "op_Implicit" || method.Name == "op_Explicit") {
-                       genDeclType = method.DeclaringType;
-                       genDeclMethod = method;
-                       name += "~" + GetName (method.ReturnType);
-                       genDeclType = null;
-                       genDeclMethod = null;
-               }
-               return "M:" + name;
-       }
-
-       protected override string GetPropertyDeclaration (PropertyDefinition property)
-       {
-               string name = GetName (property);
-               if (name == null)
-                       return null;
-               return "P:" + name;
-       }
-
-       protected override string GetFieldDeclaration (FieldDefinition field)
-       {
-               string name = GetName (field);
-               if (name == null)
-                       return null;
-               return "F:" + name;
-       }
-
-       protected override string GetEventDeclaration (EventDefinition e)
-       {
-               string name = GetName (e);
-               if (name == null)
-                       return null;
-               return "E:" + name;
-       }
-}
-
-class FileNameMemberFormatter : SlashDocMemberFormatter {
-       protected override StringBuilder AppendNamespace (StringBuilder buf, TypeReference type)
-       {
-               return buf;
-       }
-
-       protected override char NestedTypeSeparator {
-               get {return '+';}
-       }
-}
-
-class ResolvedTypeInfo {
-       TypeDefinition typeDef;
-
-       public ResolvedTypeInfo (TypeReference value) {
-               Reference = value;
-       }
-
-       public TypeReference Reference { get; private set; }
-
-       public TypeDefinition Definition {
-               get {
-                       if (typeDef == null) {
-                               typeDef = Reference.Resolve ();
-                       }
-                       return typeDef;
-               }
-       }
-}
-
-/// <summary>Formats attribute values. Should return true if it is able to format the value.</summary>
-class AttributeValueFormatter {
-       public virtual bool TryFormatValue (object v, ResolvedTypeInfo type, out string returnvalue)
-       {
-               TypeReference valueType = type.Reference;
-               if (v == null) {
-                       returnvalue = "null";
-                       return true;
-               }
-               if (valueType.FullName == "System.Type") {
-                       var vTypeRef = v as TypeReference;
-                       if (vTypeRef != null) 
-                               returnvalue = "typeof(" + NativeTypeManager.GetTranslatedName (vTypeRef) + ")"; // TODO: drop NS handling
-                       else
-                               returnvalue = "typeof(" + v.ToString () + ")";
-                       
-                       return true;
-               }
-               if (valueType.FullName == "System.String") {
-                       returnvalue = "\"" + v.ToString () + "\"";
-                       return true;
-               }
-               if (valueType.FullName == "System.Char") {
-                       returnvalue = "'" + v.ToString () + "'";
-                       return true;
-               }
-               if (v is Boolean) {
-                       returnvalue = (bool)v ? "true" : "false";
-                       return true;
-               }
-
-               TypeDefinition valueDef = type.Definition;
-               if (valueDef == null || !valueDef.IsEnum) {
-                       returnvalue = v.ToString ();
-                       return true;
-               }
-
-               string typename = MDocUpdater.GetDocTypeFullName (valueType);
-               var values = MDocUpdater.GetEnumerationValues (valueDef);
-               long c = MDocUpdater.ToInt64 (v);
-               if (values.ContainsKey (c)) {
-                       returnvalue = typename + "." + values [c];
-                       return true;
-               }
-
-               returnvalue = null;
-               return false;
-       }
-}
-
-/// <summary>The final value formatter in the pipeline ... if no other formatter formats the value,
-/// then this one will serve as the default implementation.</summary>
-class DefaultAttributeValueFormatter : AttributeValueFormatter {
-       public override bool TryFormatValue (object v, ResolvedTypeInfo type, out string returnvalue)
-       {
-               returnvalue = "(" + MDocUpdater.GetDocTypeFullName (type.Reference) + ") " + v.ToString ();
-               return true;
-       }
-}
-
-/// <summary>Flags enum formatter that assumes powers of two values.</summary>
-/// <remarks>As described here: https://msdn.microsoft.com/en-us/library/vstudio/ms229062(v=vs.100).aspx</remarks>
-class StandardFlagsEnumFormatter : AttributeValueFormatter {
-       public override bool TryFormatValue (object v, ResolvedTypeInfo type, out string returnvalue)
-       {
-               TypeReference valueType = type.Reference;
-               TypeDefinition valueDef = type.Definition;
-               if (valueDef.CustomAttributes.Any (ca => ca.AttributeType.FullName == "System.FlagsAttribute")) {
-
-                       string typename = MDocUpdater.GetDocTypeFullName (valueType);
-                       var values = MDocUpdater.GetEnumerationValues (valueDef);
-                       long c = MDocUpdater.ToInt64 (v);
-                       returnvalue = string.Join (" | ",
-                               (from i in values.Keys
-                                where (c & i) == i && i != 0
-                                select typename + "." + values [i])
-                               .DefaultIfEmpty (c.ToString ()).ToArray ());
-                       
-                       return true;
-               }
-
-               returnvalue = null;
-               return false;
-       }
-}
-
-/// <summary>A custom formatter for the ObjCRuntime.Platform enumeration.</summary>
-class ApplePlatformEnumFormatter : AttributeValueFormatter {
-       public override bool TryFormatValue (object v, ResolvedTypeInfo type, out string returnvalue)
-       {
-               TypeReference valueType = type.Reference;
-               string typename = MDocUpdater.GetDocTypeFullName (valueType);
-               TypeDefinition valueDef = type.Definition;
-               if (typename.Contains ("ObjCRuntime.Platform") && valueDef.CustomAttributes.Any (ca => ca.AttributeType.FullName == "System.FlagsAttribute")) {
-
-                       var values = MDocUpdater.GetEnumerationValues (valueDef);
-                       long c = MDocUpdater.ToInt64 (v);
-
-                       returnvalue = Format (c, values, typename);
-                       return true;
-               }
-
-               returnvalue = null;
-               return false;
-       }
-
-       string Format (long c, IDictionary<long, string> values, string typename)
-       {
-               int iosarch, iosmajor, iosminor, iossubminor;
-               int macarch, macmajor, macminor, macsubminor;
-               GetEncodingiOS (c, out iosarch, out iosmajor, out iosminor, out iossubminor);
-               GetEncodingMac ((ulong)c, out macarch, out macmajor, out macminor, out macsubminor);
-
-               if (iosmajor == 0 & iosminor == 0 && iossubminor == 0) {
-                       return FormatValues ("Mac", macarch, macmajor, macminor, macsubminor);
-               }
-
-               if (macmajor == 0 & macminor == 0 && macsubminor == 0) {
-                       return FormatValues ("iOS", iosarch, iosmajor, iosminor, iossubminor);
-               }
-
-               return string.Format ("(Platform){0}", c);
-       }
-
-       string FormatValues (string plat, int arch, int major, int minor, int subminor) 
-       {
-               string archstring = "";
-               switch (arch) {
-               case 1:
-                       archstring = "32";
-                       break;
-               case 2:
-                       archstring = "64";
-                       break;
-               }
-               return string.Format ("Platform.{4}_{0}_{1}{2} | Platform.{4}_Arch{3}",
-                       major,
-                       minor,
-                       subminor == 0 ? "" : "_" + subminor.ToString (),
-                       archstring,
-                       plat
-               );
-       }
-
-       void GetEncodingiOS (long entireLong, out int archindex, out int major, out int minor, out int subminor)
-       {
-               long lowerBits = entireLong & 0xffffffff; 
-               int lowerBitsAsInt = (int) lowerBits;
-               GetEncoding (lowerBitsAsInt, out archindex, out major, out minor, out subminor);
-       }
-
-       void GetEncodingMac (ulong entireLong, out int archindex, out int major, out int minor, out int subminor)
-       {
-               ulong higherBits = entireLong & 0xffffffff00000000; 
-               int higherBitsAsInt = (int) ((higherBits) >> 32);
-               GetEncoding (higherBitsAsInt, out archindex, out major, out minor, out subminor);
-       }
-
-       void GetEncoding (Int32 encodedBits, out int archindex, out int major, out int minor, out int subminor)
-       {
-               // format is AAJJNNSS
-               archindex = (int)((encodedBits & 0xFF000000) >> 24);
-               major = (int)((encodedBits & 0x00FF0000) >> 16);
-               minor = (int)((encodedBits & 0x0000FF00) >> 8);
-               subminor = (int)((encodedBits & 0x000000FF) >> 0);
-       }
-}
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs b/mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs
deleted file mode 100644 (file)
index 8f863f4..0000000
+++ /dev/null
@@ -1,496 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Xml;
-using System.Xml.Xsl;
-using System.Xml.XPath;
-
-using Mono.Documentation;
-using Mono.Options;
-
-[assembly: AssemblyTitle("Monodocs-to-HTML")]
-[assembly: AssemblyCopyright("Copyright (c) 2004 Joshua Tauberer <tauberer@for.net>, released under the GPL.")]
-[assembly: AssemblyDescription("Convert Monodoc XML documentation to static HTML.")]
-
-namespace Mono.Documentation {
-
-class MDocToHtmlConverterOptions {
-       public string dest;
-       public string ext = "html";
-       public string onlytype;
-       public string template;
-       public bool   dumptemplate;
-       public bool   forceUpdate;
-       public HashSet<string> versions = new HashSet<string> ();
-}
-
-class MDocToHtmlConverter : MDocCommand {
-
-       static Dictionary<string, string[]> profiles = new Dictionary<string, string[]>() {
-               //                      FxVersions-----                   VsVersions-----
-               { "monotouch",    new[]{"0.0.0.0", "2.0.5.0"              } },
-               { "net_1_0",      new[]{"1.0.3300.0",                     "7.0.3300.0"} },
-               { "net_1_1",      new[]{"1.0.5000.0",                     "7.0.5000.0"} },
-               { "net_2_0",      new[]{"2.0.0.0",                        "8.0.0.0"} },
-               { "net_3_0",      new[]{"2.0.0.0", "3.0.0.0",             "8.0.0.0"} },
-               { "net_3_5",      new[]{"2.0.0.0", "3.0.0.0", "3.5.0.0",  "8.0.0.0"} },
-               { "net_4_0",      new[]{"4.0.0.0"                         } },
-               { "silverlight",  new[]{"2.0.5.0",                        "9.0.0.0"} },
-       };
-
-       public override void Run (IEnumerable<string> args)
-       {
-               opts = new MDocToHtmlConverterOptions ();
-               var p = new OptionSet () {
-                       { "default-template",
-                               "Writes the default XSLT to stdout.",
-                               v => opts.dumptemplate = v != null },
-                       { "ext=",
-                               "The file {EXTENSION} to use for created files.  "+
-                                       "This defaults to \"html\".",
-                               v => opts.ext = v },
-                       { "force-update",
-                               "Always generate new files.  If not specified, will only generate a " + 
-                                       "new file if the source .xml file is newer than the current output " +
-                                       "file.",
-                               v => opts.forceUpdate = v != null },
-                       { "o|out=",
-                               "The {DIRECTORY} to place the generated files and directories.",
-                               v => opts.dest = v },
-                       { "template=",
-                               "An XSLT {FILE} to use to generate the created " + 
-                                       "files.If not specified, uses the template generated by " + 
-                                       "--default-template.",
-                               v => opts.template = v },
-                       { "with-profile=",
-                               "The .NET {PROFILE} to generate documentation for.  This is " + 
-                                       "equivalent to using --with-version for all of the " +
-                                       "versions that a profile uses.  Valid profiles are:\n  " +
-                                       string.Join ("\n  ", profiles.Keys.OrderBy (v => v).ToArray ()),
-                               v => {
-                                       if (!profiles.ContainsKey (v))
-                                               throw new ArgumentException (string.Format ("Unsupported profile '{0}'.", v));
-                                       foreach (var ver in profiles [v.ToLowerInvariant ()])
-                                               opts.versions.Add (ver);
-                               } },
-                       { "with-version=",
-                               "The assembly {VERSION} to generate documentation for.  This allows " + 
-                                       "display of a subset of types/members that correspond to the given " +
-                                       "assembly version.  May be specified multiple times.  " + 
-                                       "If not specified, all versions are displayed.",
-                               v => opts.versions.Add (v) }
-               };
-               List<string> extra = Parse (p, args, "export-html", 
-                               "[OPTIONS]+ DIRECTORIES",
-                               "Export mdoc documentation within DIRECTORIES to HTML.");
-               if (extra == null)
-                       return;
-               if (opts.dumptemplate)
-                       DumpTemplate ();
-               else
-                       ProcessDirectories (extra);
-               opts.onlytype = "ignore"; // remove warning about unused member
-       }
-
-       static MDocToHtmlConverterOptions opts;
-
-       void ProcessDirectories (List<string> sourceDirectories)
-       {
-               if (sourceDirectories.Count == 0 || opts.dest == null || opts.dest == "")
-                       throw new ApplicationException("The source and dest options must be specified.");
-               
-               Directory.CreateDirectory(opts.dest);
-
-               // Load the stylesheets, overview.xml, and resolver
-               
-               XslCompiledTransform overviewxsl = LoadTransform("overview.xsl", sourceDirectories);
-               XslCompiledTransform stylesheet = LoadTransform("stylesheet.xsl", sourceDirectories);
-               XslCompiledTransform template;
-               if (opts.template == null) {
-                       template = LoadTransform("defaulttemplate.xsl", sourceDirectories);
-               } else {
-                       try {
-                               XmlDocument templatexsl = new XmlDocument();
-                               templatexsl.Load(opts.template);
-                               template = new XslCompiledTransform (DebugOutput);
-                               template.Load(templatexsl);
-                       } catch (Exception e) {
-                               throw new ApplicationException("There was an error loading " + opts.template, e);
-                       }
-               }
-               
-               XmlDocument overview = GetOverview (sourceDirectories);
-
-               ArrayList extensions = GetExtensionMethods (overview);
-               
-               // Create the master page
-               XsltArgumentList overviewargs = new XsltArgumentList();
-               overviewargs.AddParam("Index", "", overview.CreateNavigator ());
-
-               var regenIndex = ShouldRegenIndexes (opts, overview, sourceDirectories);
-               if (regenIndex) {
-                       overviewargs.AddParam("ext", "", opts.ext);
-                       overviewargs.AddParam("basepath", "", "./");
-                       Generate(overview, overviewxsl, overviewargs, opts.dest + "/index." + opts.ext, template, sourceDirectories);
-                       overviewargs.RemoveParam("basepath", "");
-               }
-               overviewargs.AddParam("basepath", "", "../");
-               
-               // Create the namespace & type pages
-               
-               XsltArgumentList typeargs = new XsltArgumentList();
-               typeargs.AddParam("ext", "", opts.ext);
-               typeargs.AddParam("basepath", "", "../");
-               typeargs.AddParam("Index", "", overview.CreateNavigator ());
-               
-               foreach (XmlElement ns in overview.SelectNodes("Overview/Types/Namespace")) {
-                       string nsname = ns.GetAttribute("Name");
-
-                       if (opts.onlytype != null && !opts.onlytype.StartsWith(nsname + "."))
-                               continue;
-                               
-                       System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(opts.dest + "/" + nsname);
-                       if (!d.Exists) d.Create();
-                       
-                       // Create the NS page
-                       string nsDest = opts.dest + "/" + nsname + "/index." + opts.ext;
-                       if (regenIndex) {
-                               overviewargs.AddParam("namespace", "", nsname);
-                               Generate(overview, overviewxsl, overviewargs, nsDest, template, sourceDirectories);
-                               overviewargs.RemoveParam("namespace", "");
-                       }
-                       
-                       foreach (XmlElement ty in ns.SelectNodes("Type")) {
-                               string typename, typefile, destfile;
-                               GetTypePaths (opts, ty, out typename, out typefile, out destfile);
-
-                               if (DestinationIsNewer (typefile, destfile))
-                                       // target already exists, and is newer.  why regenerate?
-                                       continue;
-
-                               XmlDocument typexml = new XmlDocument();
-                               typexml.Load(typefile);
-                               PreserveMembersInVersions (typexml);
-                               if (extensions != null) {
-                                       DocLoader loader = CreateDocLoader (overview);
-                                       XmlDocUtils.AddExtensionMethods (typexml, extensions, loader);
-                               }
-                               
-                               Console.WriteLine(nsname + "." + typename);
-                               
-                               Generate(typexml, stylesheet, typeargs, destfile, template, sourceDirectories);
-                       }
-               }
-       }
-
-       private static ArrayList GetExtensionMethods (XmlDocument doc)
-       {
-               XmlNodeList extensions = doc.SelectNodes ("/Overview/ExtensionMethods/*");
-               if (extensions.Count == 0)
-                       return null;
-               ArrayList r = new ArrayList (extensions.Count);
-               foreach (XmlNode n in extensions)
-                       r.Add (n);
-               return r;
-       }
-
-       static bool ShouldRegenIndexes (MDocToHtmlConverterOptions opts, XmlDocument overview, List<string> sourceDirectories)
-       {
-               string overviewDest   = opts.dest + "/index." + opts.ext;
-               if (sourceDirectories.Any (
-                                       d => !DestinationIsNewer (Path.Combine (d, "index.xml"), overviewDest)))
-                       return true;
-
-               foreach (XmlElement type in overview.SelectNodes("Overview/Types/Namespace/Type")) {
-                       string _, srcfile, destfile;
-                       GetTypePaths (opts, type, out _, out srcfile, out destfile);
-
-                       if (srcfile == null || destfile == null)
-                               continue;
-                       if (DestinationIsNewer (srcfile, destfile))
-                               return true;
-               }
-
-               return false;
-       }
-
-       static void GetTypePaths (MDocToHtmlConverterOptions opts, XmlElement type, out string typename, out string srcfile, out string destfile)
-       {
-               srcfile   = null;
-               destfile  = null;
-
-               string nsname       = type.ParentNode.Attributes ["Name"].Value;
-               string typefilebase = type.GetAttribute("Name");
-               string sourceDir    = type.GetAttribute("SourceDirectory");
-               typename            = type.GetAttribute("DisplayName");
-               if (typename.Length == 0)
-                       typename = typefilebase;
-               
-               if (opts.onlytype != null && !(nsname + "." + typename).StartsWith(opts.onlytype))
-                       return;
-
-               srcfile = CombinePath (sourceDir, nsname, typefilebase + ".xml");
-               if (srcfile == null)
-                       return;
-
-               destfile = CombinePath (opts.dest, nsname, typefilebase + "." + opts.ext);
-       }
-       
-       private static void DumpTemplate() {
-               Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("defaulttemplate.xsl");
-               Stream o = Console.OpenStandardOutput ();
-               byte[] buf = new byte[1024];
-               int r;
-               while ((r = s.Read (buf, 0, buf.Length)) > 0) {
-                       o.Write (buf, 0, r);
-               }
-       }
-       
-       private static void Generate(XmlDocument source, XslCompiledTransform transform, XsltArgumentList args, string output, XslCompiledTransform template, List<string> sourceDirectories) {
-               using (TextWriter textwriter = new StreamWriter(new FileStream(output, FileMode.Create))) {
-                       XmlTextWriter writer = new XmlTextWriter(textwriter);
-                       writer.Formatting = Formatting.Indented;
-                       writer.Indentation = 2;
-                       writer.IndentChar = ' ';
-                       
-                       try {
-                               var intermediate = new StringBuilder ();
-                               transform.Transform (
-                                               new XmlNodeReader (source), 
-                                               args, 
-                                               XmlWriter.Create (intermediate, transform.OutputSettings),
-                                               new ManifestResourceResolver(sourceDirectories.ToArray ()));
-                               template.Transform (
-                                               XmlReader.Create (new StringReader (intermediate.ToString ())),
-                                               new XsltArgumentList (),
-                                               new XhtmlWriter (writer),
-                                               null);
-                       } catch (Exception e) {
-                               throw new ApplicationException("An error occured while generating " + output, e);
-                       }
-               }
-       }
-       
-       private XslCompiledTransform LoadTransform(string name, List<string> sourceDirectories) {
-               try {
-                       XmlDocument xsl = new XmlDocument();
-                       xsl.Load(Assembly.GetExecutingAssembly().GetManifestResourceStream(name));
-                       
-                       if (name == "overview.xsl") {
-                               // bit of a hack.  overview needs the templates in stylesheet
-                               // for doc formatting, and rather than write a resolver, I'll
-                               // just do the import for it.
-                               
-                               XmlNode importnode = xsl.DocumentElement.SelectSingleNode("*[name()='xsl:include']");
-                               xsl.DocumentElement.RemoveChild(importnode);
-                               
-                               XmlDocument xsl2 = new XmlDocument();
-                               xsl2.Load(Assembly.GetExecutingAssembly().GetManifestResourceStream("stylesheet.xsl"));
-                               foreach (XmlNode node in xsl2.DocumentElement.ChildNodes)
-                                       xsl.DocumentElement.AppendChild(xsl.ImportNode(node, true));
-                       }
-                       
-                       XslCompiledTransform t = new XslCompiledTransform (DebugOutput);
-                       t.Load (
-                                       xsl, 
-                                       XsltSettings.TrustedXslt,
-                                       new ManifestResourceResolver (sourceDirectories.ToArray ()));
-                       
-                       return t;
-               } catch (Exception e) {
-                       throw new ApplicationException("Error loading " + name + " from internal resource", e);
-               }
-       }
-
-       private static DocLoader CreateDocLoader (XmlDocument overview)
-       {
-               Hashtable docs = new Hashtable ();
-               DocLoader loader = delegate (string s) {
-                       XmlDocument d = null;
-                       if (!docs.ContainsKey (s)) {
-                               foreach (XmlNode n in overview.SelectNodes ("//Type")) {
-                                       string ns = n.ParentNode.Attributes ["Name"].Value;
-                                       string t  = n.Attributes ["Name"].Value;
-                                       string sd = n.Attributes ["SourceDirectory"].Value;
-                                       if (s == ns + "." + t.Replace ("+", ".")) {
-                                               string f = CombinePath (sd, ns, t + ".xml");
-                                               if (File.Exists (f)) {
-                                                       d = new XmlDocument ();
-                                                       d.Load (f);
-                                               }
-                                               docs.Add (s, d);
-                                               break;
-                                       }
-                               }
-                       }
-                       else
-                               d = (XmlDocument) docs [s];
-                       return d;
-               };
-               return loader;
-       }
-
-       static string CombinePath (params string[] paths)
-       {
-               if (paths == null)
-                       return null;
-               if (paths.Length == 1)
-                       return paths [0];
-               var path = Path.Combine (paths [0], paths [1]);
-               for (int i = 2; i < paths.Length; ++i)
-                       path = Path.Combine (path, paths [i]);
-               return path;
-       }
-
-       private XmlDocument GetOverview (IEnumerable<string> directories)
-       {
-               var index = new XmlDocument ();
-
-               var overview  = index.CreateElement ("Overview");
-               var assemblies= index.CreateElement ("Assemblies");
-               var types     = index.CreateElement ("Types");
-               var ems       = index.CreateElement ("ExtensionMethods");
-
-               index.AppendChild (overview);
-               overview.AppendChild (assemblies);
-               overview.AppendChild (types);
-               overview.AppendChild (ems);
-
-               bool first = true;
-
-               foreach (var dir in directories) {
-                       var indexFile = Path.Combine (dir, "index.xml");
-                       try {
-                               var doc = new XmlDocument ();
-                               doc.Load (indexFile);
-                               if (first) {
-                                       var c = doc.SelectSingleNode ("/Overview/Copyright");
-                                       var t = doc.SelectSingleNode ("/Overview/Title");
-                                       var r = doc.SelectSingleNode ("/Overview/Remarks");
-                                       if (c != null && t != null && r != null) {
-                                               var e = index.CreateElement ("Copyright");
-                                               e.InnerXml = c.InnerXml;
-                                               overview.AppendChild (e);
-
-                                               e = index.CreateElement ("Title");
-                                               e.InnerXml = t.InnerXml;
-                                               overview.AppendChild (e);
-
-                                               e = index.CreateElement ("Remarks");
-                                               e.InnerXml = r.InnerXml;
-                                               overview.AppendChild (e);
-
-                                               first = false;
-                                       }
-                               }
-                               AddAssemblies (assemblies, doc);
-                               AddTypes (types, doc, dir);
-                               AddChildren (ems, doc, "/Overview/ExtensionMethods");
-                       }
-                       catch (Exception e) {
-                               Message (TraceLevel.Warning, "Could not load documentation index '{0}': {1}",
-                                               indexFile, e.Message);
-                       }
-               }
-
-               return index;
-       }
-
-       static void AddChildren (XmlNode dest, XmlDocument source, string path)
-       {
-               var n = source.SelectSingleNode (path);
-               if (n != null)
-                       foreach (XmlNode c in n.ChildNodes)
-                               dest.AppendChild (dest.OwnerDocument.ImportNode (c, true));
-       }
-
-       static void AddAssemblies (XmlNode dest, XmlDocument source)
-       {
-               foreach (XmlNode asm in source.SelectNodes ("/Overview/Assemblies/Assembly")) {
-                       var n = asm.Attributes ["Name"].Value;
-                       var v = asm.Attributes ["Version"].Value;
-                       if (dest.SelectSingleNode (string.Format ("Assembly[@Name='{0}'][@Value='{1}']", n, v)) == null) {
-                               dest.AppendChild (dest.OwnerDocument.ImportNode (asm, true));
-                       }
-               }
-       }
-
-       static void AddTypes (XmlNode dest, XmlDocument source, string sourceDirectory)
-       {
-               var types = source.SelectSingleNode ("/Overview/Types");
-               if (types == null)
-                       return;
-               foreach (XmlNode ns in types.ChildNodes) {
-                       var n = ns.Attributes ["Name"].Value;
-                       var nsd = dest.SelectSingleNode (string.Format ("Namespace[@Name='{0}']", n));
-                       if (nsd == null) {
-                               nsd = dest.OwnerDocument.CreateElement ("Namespace");
-                               AddAttribute (nsd, "Name", n);
-                               dest.AppendChild (nsd);
-                       }
-                       foreach (XmlNode t in ns.ChildNodes) {
-                               if (!TypeInVersions (sourceDirectory, n, t))
-                                       continue;
-                               var c = dest.OwnerDocument.ImportNode (t, true);
-                               AddAttribute (c, "SourceDirectory", sourceDirectory);
-                               nsd.AppendChild (c);
-                       }
-                       if (nsd.ChildNodes.Count == 0)
-                               dest.RemoveChild (nsd);
-               }
-       }
-
-       static bool TypeInVersions (string sourceDirectory, string ns, XmlNode type)
-       {
-               if (opts.versions.Count == 0)
-                       return true;
-               var file = Path.Combine (Path.Combine (sourceDirectory, ns), type.Attributes ["Name"].Value + ".xml");
-               if (!File.Exists (file))
-                       return false;
-               XPathDocument doc;
-               using (var s = File.OpenText (file))
-                       doc = new XPathDocument (s);
-               return MemberInVersions (doc.CreateNavigator ().SelectSingleNode ("/Type"));
-       }
-
-       static bool MemberInVersions (XPathNavigator nav)
-       {
-               return nav.Select ("AssemblyInfo/AssemblyVersion")
-                       .Cast<object> ()
-                       .Any (v => opts.versions.Contains (v.ToString ()));
-       }
-
-       static void AddAttribute (XmlNode self, string name, string value)
-       {
-               var a = self.OwnerDocument.CreateAttribute (name);
-               a.Value = value;
-               self.Attributes.Append (a);
-       }
-
-       private static bool DestinationIsNewer (string source, string dest)
-       {
-               return !opts.forceUpdate && File.Exists (dest) &&
-                       File.GetLastWriteTime (source) < File.GetLastWriteTime (dest);
-       }
-
-       private static void PreserveMembersInVersions (XmlDocument doc)
-       {
-               if (opts.versions.Count == 0)
-                       return;
-               var remove = new List<XmlNode>();
-               foreach (XmlNode m in doc.SelectNodes ("/Type/Members/Member")) {
-                       if (!MemberInVersions (m.CreateNavigator ()))
-                               remove.Add (m);
-               }
-               XmlNode members = doc.SelectSingleNode ("/Type/Members");
-               foreach (var m in remove)
-                       members.RemoveChild (m);
-       }
-}
-
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/monodocs2slashdoc.cs b/mcs/tools/mdoc/Mono.Documentation/monodocs2slashdoc.cs
deleted file mode 100644 (file)
index b818401..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Xml;
-
-using Monodoc;
-using Mono.Options;
-
-namespace Mono.Documentation {
-public class MDocToMSXDocConverter : MDocCommand {
-
-       public override void Run (IEnumerable<string> args)
-       {
-               string file = null;
-               var p = new OptionSet () {
-                       { "o|out=", 
-                               "The XML {FILE} to generate.\n" + 
-                               "If not specified, will create a set of files in the curent directory " +
-                               "based on the //AssemblyInfo/AssemblyName values within the documentation.\n" +
-                               "Use '-' to write to standard output.",
-                               v => file = v },
-               };
-               List<string> directories = Parse (p, args, "export-slashdoc", 
-                               "[OPTIONS]+ DIRECTORIES",
-                               "Export mdoc(5) documentation within DIRECTORIES into \n" +
-                                       "Microsoft XML Documentation format files.");
-               if (directories == null)
-                       return;
-               Run (file, directories);
-       }
-       
-       public static void Run (string file, IEnumerable<string> dirs)
-       {
-               Dictionary<string, XmlElement> outputfiles = new Dictionary<string, XmlElement> ();
-
-               XmlDocument nsSummaries = new XmlDocument();
-               nsSummaries.LoadXml("<namespaces/>");
-
-               foreach (string dir in dirs)
-                       Process (dir, outputfiles, nsSummaries, file == null);
-
-               if (outputfiles.Count > 0 && file != null) {
-                       List<string> files = new List<string> (outputfiles.Keys);
-                       files.Sort ();
-                       XmlDocument d = new XmlDocument ();
-                       d.AppendChild (d.CreateElement ("doc"));
-                       d.FirstChild.AppendChild (
-                                       d.ImportNode (outputfiles [files [0]].SelectSingleNode ("/doc/assembly"), true));
-                       XmlElement members = d.CreateElement ("members");
-                       d.FirstChild.AppendChild (members);
-                       foreach (string f in files) {
-                               XmlElement from = (XmlElement) outputfiles [f];
-                               foreach (XmlNode n in from.SelectNodes ("/doc/members/*"))
-                                       members.AppendChild (d.ImportNode (n, true));
-                       }
-                       using (TextWriter tw = file == "-" ? Console.Out : new StreamWriter (file))
-                               WriteXml (d.DocumentElement, tw);
-                       return;
-               }
-
-               // Write out each of the assembly documents
-               foreach (string assemblyName in outputfiles.Keys) {
-                       XmlElement members = (XmlElement)outputfiles[assemblyName];
-                       Console.WriteLine(assemblyName + ".xml");
-                       using(StreamWriter sw = new StreamWriter(assemblyName + ".xml")) {
-                               WriteXml(members.OwnerDocument.DocumentElement, sw);
-                       }
-               }
-       
-               // Write out a namespace summaries file.
-               Console.WriteLine("NamespaceSummaries.xml");
-               using(StreamWriter writer = new StreamWriter("NamespaceSummaries.xml")) {
-                       WriteXml(nsSummaries.DocumentElement, writer);
-               }
-       }
-
-       private static void Process (string basepath, Dictionary<string, XmlElement> outputfiles, XmlDocument nsSummaries, bool implicitFiles)
-       {
-               if (System.Environment.CurrentDirectory == System.IO.Path.GetFullPath(basepath) && implicitFiles) {
-                       Console.WriteLine("Don't run this tool from your documentation directory, since some files could be accidentally overwritten.");
-                       return;
-               }
-
-               XmlDocument index_doc = new XmlDocument();
-               index_doc.Load(Path.Combine(basepath, "index.xml"));
-               XmlElement index = index_doc.DocumentElement;
-               
-               foreach (XmlElement assmbly in index.SelectNodes("Assemblies/Assembly")) {
-                       string assemblyName = assmbly.GetAttribute("Name");
-                       if (outputfiles.ContainsKey (assemblyName))
-                               continue;
-                       XmlDocument output = new XmlDocument();
-                       XmlElement output_root = output.CreateElement("doc");
-                       output.AppendChild(output_root);
-
-                       XmlElement output_assembly = output.CreateElement("assembly");
-                       output_root.AppendChild(output_assembly);
-                       XmlElement output_assembly_name = output.CreateElement("name");
-                       output_assembly.AppendChild(output_assembly_name);
-                       output_assembly_name.InnerText = assemblyName;
-               
-                       XmlElement members = output.CreateElement("members");
-                       output_root.AppendChild(members);
-                       
-                       outputfiles.Add (assemblyName, members);
-               }
-                       
-               foreach (XmlElement nsnode in index.SelectNodes("Types/Namespace")) {
-                       string ns = nsnode.GetAttribute("Name");
-                       foreach (XmlElement typedoc in nsnode.SelectNodes("Type")) {
-                               string typename = typedoc.GetAttribute("Name");
-                               XmlDocument type = new XmlDocument();
-                               type.Load(Path.Combine(Path.Combine(basepath, ns), typename) + ".xml");
-                               
-                               string assemblyname = type.SelectSingleNode("Type/AssemblyInfo/AssemblyName").InnerText;
-                               XmlElement members = outputfiles [assemblyname];
-                               if (members == null) continue; // assembly is strangely not listed in the index
-                               
-                               CreateMember (GetCref (type.DocumentElement), type.DocumentElement, members);
-                                       
-                               foreach (XmlElement memberdoc in type.SelectNodes("Type/Members/Member")) {
-                                       string name = GetCref (memberdoc);
-                                       CreateMember(name, memberdoc, members);
-                               }
-                       }
-               }
-               foreach (XmlElement nsnode in index.SelectNodes("Types/Namespace")) {
-                       AddNamespaceSummary(nsSummaries, basepath, nsnode.GetAttribute("Name"));
-               }
-       }
-
-       static string GetCref (XmlElement member)
-       {
-               string typeName = XmlDocUtils.ToEscapedTypeName (member.SelectSingleNode("/Type/@FullName").InnerText);
-               if (member.Name == "Type")
-                       return "T:" + typeName;
-               string memberType = member.SelectSingleNode("MemberType").InnerText;
-               switch (memberType) {
-                       case "Constructor":
-                               return "C:" + typeName + MakeArgs(member);
-                       case "Event":
-                               return "E:" + typeName + "." + XmlDocUtils.ToEscapedMemberName (member.GetAttribute("MemberName"));
-                       case "Field":
-                               return "F:" + typeName + "." + XmlDocUtils.ToEscapedMemberName (member.GetAttribute("MemberName"));
-                       case "Method": {
-                               string name = "M:" + typeName + "." + XmlDocUtils.ToEscapedMemberName (member.GetAttribute("MemberName")) + MakeArgs(member);
-                               if (member.GetAttribute("MemberName") == "op_Implicit" || member.GetAttribute("MemberName") == "op_Explicit")
-                                       name += "~" + XmlDocUtils.ToTypeName (member.SelectSingleNode("ReturnValue/ReturnType").InnerText, member);
-                               return name;
-                       }
-                       case "Property":
-                               return "P:" + typeName + "." + XmlDocUtils.ToEscapedMemberName (member.GetAttribute("MemberName")) + MakeArgs(member);
-                       default:
-                               throw new NotSupportedException ("MemberType '" + memberType + "' is not supported.");
-               }
-       }
-
-       static string MakeArgs (XmlElement member)
-       {
-               XmlNodeList parameters = member.SelectNodes ("Parameters/Parameter");
-               if (parameters.Count == 0)
-                       return "";
-               StringBuilder args = new StringBuilder ();
-               args.Append ("(");
-               args.Append (XmlDocUtils.ToTypeName (parameters [0].Attributes ["Type"].Value, member));
-               for (int i = 1; i < parameters.Count; ++i) {
-                       args.Append (",");
-                       args.Append (XmlDocUtils.ToTypeName (parameters [i].Attributes ["Type"].Value, member));
-               }
-               args.Append (")");
-               return args.ToString ();
-       }
-       
-       private static void AddNamespaceSummary(XmlDocument nsSummaries, string basepath, string currentNs) {
-               foreach (var filename in new [] {
-                               Path.Combine(basepath, currentNs + ".xml"),
-                               Path.Combine(basepath, "ns-" + currentNs + ".xml")}) {
-                       if (File.Exists(filename))      {
-                               XmlDocument nsSummary = new XmlDocument();
-                               nsSummary.Load(filename);
-                               XmlElement ns = nsSummaries.CreateElement("namespace");
-                               nsSummaries.DocumentElement.AppendChild(ns);
-                               ns.SetAttribute("name", currentNs);
-                               ns.InnerText = nsSummary.SelectSingleNode("/Namespace/Docs/summary").InnerText;
-                       }
-               }
-       }
-       
-       private static void CreateMember(string name, XmlElement input, XmlElement output) {
-               XmlElement member = output.OwnerDocument.CreateElement("member");
-               output.AppendChild(member);
-               
-               member.SetAttribute("name", name);
-               
-               foreach (XmlNode docnode in input.SelectSingleNode("Docs"))
-                       member.AppendChild(output.OwnerDocument.ImportNode(docnode, true));
-       }
-
-       private static void WriteXml(XmlElement element, System.IO.TextWriter output) {
-               XmlTextWriter writer = new XmlTextWriter(output);
-               writer.Formatting = Formatting.Indented;
-               writer.Indentation = 4;
-               writer.IndentChar = ' ';
-               element.WriteTo(writer);
-               output.WriteLine();     
-       }
-}
-
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/msitomsx.cs b/mcs/tools/mdoc/Mono.Documentation/msitomsx.cs
deleted file mode 100644 (file)
index 459ac17..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-//
-// msitomsx.cs: Microsoft Internal XML to Microsoft XML Documentation
-//
-// Arguably this doesn't belong in mdoc, but I'd rather not do some
-// stand-alone tool either, especially since the primary reason it exists is
-// to facilitate generating ECMA documentation via mdoc-update and
-// mdoc-update-ecma-xml...
-//
-// Author:
-//   Jonathan Pryor  <jpryor@novell.com>
-//
-// Copyright (c) 2010 Novell, Inc. (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Reflection;
-using System.Text;
-using System.Xml;
-using System.Xml.Linq;
-using System.Xml.Xsl;
-
-using Mono.Options;
-
-namespace Mono.Documentation {
-
-       class MsidocToMsxdocConverter : MDocCommand {
-
-               XslCompiledTransform msiToMsxTransform = new XslCompiledTransform ();
-
-               public MsidocToMsxdocConverter ()
-               {
-                       using (var r = XmlReader.Create (
-                                               Assembly.GetExecutingAssembly ().GetManifestResourceStream ("msitomsx.xsl")))
-                               msiToMsxTransform.Load (r);
-               }
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       var types = new List<string> ();
-                       string outdir = null;
-
-                       var options = new OptionSet () {
-                               { "o|out=", 
-                                       "{DIRECTORY} to create Microsoft XML assembly.xml documentation files.",
-                                       v => outdir = v },
-                               { "library=",
-                                       "Ignored for compatibility with update-ecma-xml.",
-                                       v => {} },
-                               { "type=",
-                                       "The full {TYPE} name of a type to copy into the output file.",
-                                       v => types.Add (v) },
-                       };
-                       var sources = Parse (options, args, "export-ecma-xml", 
-                                       "[OPTIONS]+ DIRECTORIES",
-                                       "Convert Microsoft internal XML documentation within DIRECTORIES into\n" +
-                                       "Microsoft XML documentation.\n" +
-                                       "\n" +
-                                       "Microsoft internal XML documentation is a custom XML dialect (yay) with\n" +
-                                       "a specific directory structure:\n" +
-                                       "\n" +
-                                       "\tROOT/dotted.namespace/asset.xml\n" +
-                                       "\n" +
-                                       "where ROOT is a directory that can be passed as one of the DIRECTORIES\n" +
-                                       "arguments to x-msitomsx, dotted.namespace is the lowercased namespace\n" +
-                                       "in dotted form, e.g. 'system.threading', and asset.xml is the name of \n" +
-                                       "the \"asset\" being documented.  The asset.xml basename is a GUID, and\n" +
-                                       "the file contains type/namespace/etc. documentation, one file per asset.\n" +
-                                       "\n" +
-                                       "There is no separation of assemblies in this format, only namespaces.\n" +
-                                       "Types from all assemblies are intermixed with each other.\n" +
-                                       "\n" +
-                                       "The output of x-msitomsx will be a set of files in the --out directory,\n" +
-                                       "one file per assembly (normal 'csc /doc' convention).  For example,\n" +
-                                       "\n" +
-                                       "\tmdoc x-msitomsx -o docs import-root --type System.String\n" +
-                                       "\n" +
-                                       "will create the file 'docs/mscorlib.dll' which will contain the converted\n" +
-                                       "documentation for the System.String type.");
-                       if (sources == null)
-                               return;
-                       if (sources.Count == 0)
-                               Error ("No directories specified.");
-                       if (outdir == null)
-                               Error ("No output directory specified.  Please use --out=DIRECTORY.");
-
-                       types.Sort ();
-
-                       Dictionary<string, XDocument> docs = Convert (sources, types);
-                       foreach (KeyValuePair<string, XDocument> e in docs) {
-                               using (var o = CreateWriter (Path.Combine (outdir, e.Key + ".xml")))
-                                       e.Value.WriteTo (o);
-                       }
-               }
-
-               private Dictionary<string, XDocument> Convert (List<string> sources, List<string> types)
-               {
-                       var docs = new Dictionary<string, XDocument> ();
-
-                       foreach (var source in sources) {
-                               foreach (var dir in Directory.GetDirectories (source)) {
-                                       foreach (var file in Directory.GetFiles (dir, "*.xml")) {
-                                               ConvertDocs (docs, types, file);
-                                       }
-                               }
-                       }
-
-                       return docs;
-               }
-
-               private void ConvertDocs (Dictionary<string, XDocument> docs, List<string> types, string file)
-               {
-                       var doc = LoadFile (file);
-                       var type = doc.Root.Element ("members").Element ("member").Attribute ("name").Value;
-
-                       if (type.StartsWith ("N:"))
-                               return;
-
-                       if (!type.StartsWith ("T:"))
-                               throw new InvalidOperationException ("File '" + file + "' doesn't contain type documentation, it contains docs for: " + type);
-
-                       type = type.Substring (2);
-                       if (types.Count > 0 && types.BinarySearch (type) < 0)
-                               return;
-
-                       var assembly = doc.Root.Element ("assembly").Element ("name").Value;
-                       XDocument asmdocs;
-                       if (!docs.TryGetValue (assembly, out asmdocs)) {
-                               docs.Add (assembly, 
-                                               asmdocs = new XDocument (
-                                                       new XElement ("doc", 
-                                                               new XElement ("assembly",
-                                                                       new XElement ("name", assembly)),
-                                                               new XElement ("members"))));
-                       }
-
-                       var import = new XDocument ();
-                       msiToMsxTransform.Transform (doc.CreateReader (), import.CreateWriter ());
-
-                       asmdocs.Root.Element ("members").Add (import.Root.Element ("members").Elements ("member"));
-               }
-
-               static XDocument LoadFile (string file)
-               {
-                       using (XmlReader r = XmlReader.Create (file))
-                               return XDocument.Load (r);
-               }
-
-               static XmlWriter CreateWriter (string file)
-               {
-                       var settings = new XmlWriterSettings {
-                               Encoding            = new UTF8Encoding (false),
-                               Indent              = true,
-                               IndentChars         = "    ",
-                               NewLineChars        = "\r\n",
-                               OmitXmlDeclaration  = true,
-                       };
-
-                       return XmlWriter.Create (file, settings);
-               }
-       }
-}
-
diff --git a/mcs/tools/mdoc/Mono.Documentation/normalize.cs b/mcs/tools/mdoc/Mono.Documentation/normalize.cs
deleted file mode 100644 (file)
index 724c727..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.IO;
-using System.Text;
-using System.Xml;
-
-namespace Mono.Documentation {
-    public class Normalizer {
-        
-        public static void Run (string [] args)
-        {
-                if (args == null) {
-                        Console.WriteLine ("normalize.exe <files>");
-                        Environment.Exit (0);
-                }
-
-                foreach (string arg in args) {
-                        
-                        XmlDocument document = new XmlDocument ();
-                        try {
-                                document.Load (arg);
-                                StreamWriter writer = new StreamWriter (arg, false, new UTF8Encoding (false));
-                                document.Save (writer);
-                                writer.Close ();
-                                
-                        } catch (XmlException e) {
-                                Console.WriteLine (arg + " is not a wellformed XML document.");
-                                Console.WriteLine (e.Message);
-                        }
-                }
-        }
-    }
-}
diff --git a/mcs/tools/mdoc/Mono.Documentation/preserver.cs b/mcs/tools/mdoc/Mono.Documentation/preserver.cs
deleted file mode 100644 (file)
index 8d1488a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Command to preserve member documentation for types that are changing in a subsequent version
-// By Joel Martinez <joel.martinez@xamarin.com
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Mono.Options;
-
-namespace Mono.Documentation
-{
-       [Obsolete ("This functionality is no longer supported.")]
-       public class MDocPreserve : MDocCommand
-       {
-               MDocUpdater updater;
-
-               public MDocPreserve ()
-               {
-                       updater = new MDocUpdater ();
-               }
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       Message (System.Diagnostics.TraceLevel.Warning, "This functionality is no longer supported, and will be removed in a future release.");
-
-                       string preserveName = string.Empty;
-                       var p = new OptionSet () { { "name=",
-                                       "Root {DIRECTORY} to generate/update documentation.",
-                                       v => preserveName = v
-                               }
-                       };
-
-                       updater.PreserveTag = preserveName;
-
-                       updater.Run (args);
-               }
-       }
-}
-
diff --git a/mcs/tools/mdoc/Mono.Documentation/validate.cs b/mcs/tools/mdoc/Mono.Documentation/validate.cs
deleted file mode 100644 (file)
index afaba40..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Xml;
-using System.Xml.Schema;
-
-using Mono.Options;
-
-namespace Mono.Documentation
-{
-       public class MDocValidator : MDocCommand
-       {
-               XmlReaderSettings settings;
-               long errors = 0;
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       string[] validFormats = {
-                               "ecma",
-                       };
-                       string format = "ecma";
-                       var p = new OptionSet () {
-                               { "f|format=",
-                                       "The documentation {0:FORMAT} used within PATHS.  " + 
-                                               "Valid formats include:\n  " +
-                                               string.Join ("\n  ", validFormats) + "\n" +
-                                               "If no format provided, `ecma' is used.",
-                                       v => format = v },
-                       };
-                       List<string> files = Parse (p, args, "validate", 
-                                       "[OPTIONS]+ PATHS",
-                                       "Validate PATHS against the specified format schema.");
-                       if (files == null)
-                               return;
-                       if (Array.IndexOf (validFormats, format) < 0)
-                               Error ("Invalid documentation format: {0}.", format);
-                       Run (format, files);
-               }
-       
-               public void Run (string format, IEnumerable<string> files)
-               {
-                       Stream s = null;
-
-                       switch (format) {
-                               case "ecma":
-                                       s = Assembly.GetExecutingAssembly ().GetManifestResourceStream ("monodoc-ecma.xsd");
-                                       break;
-
-                               default:
-                                       throw new NotSupportedException (string.Format ("The format `{0}' is not suppoted.", format));
-                       }
-
-                       if (s == null)
-                               throw new NotSupportedException (string.Format ("The schema for `{0}' was not found.", format));
-
-                       settings = new XmlReaderSettings ();
-                       settings.Schemas.Add (XmlSchema.Read (s, null));
-                       settings.Schemas.Compile ();
-                       settings.ValidationType = ValidationType.Schema;
-                       settings.ValidationEventHandler += OnValidationEvent;
-
-                       // skip args[0] because it is the provider name
-                       foreach (string arg in files) {
-                               if (IsMonodocFile (arg))
-                                       ValidateFile (arg);
-
-                               if (Directory.Exists (arg))
-                               {
-                                       RecurseDirectory (arg);
-                               }
-                       }
-
-                       Message (errors == 0 ? TraceLevel.Info : TraceLevel.Error, 
-                                       "Total validation errors: {0}", errors);
-               }
-
-               void ValidateFile (string file)
-               {
-                       try {
-                               using (var reader = XmlReader.Create (new XmlTextReader (file), settings)) {
-                                       while (reader.Read ()) {
-                                               // do nothing
-                                       }
-                               }
-                       }
-                       catch (Exception e) {
-                               Message (TraceLevel.Error, "mdoc: {0}", e.ToString ());
-                       }
-               }
-
-               void RecurseDirectory (string dir)
-               {
-                       string[] files = Directory.GetFiles (dir, "*.xml");
-                       foreach (string f in files)
-                       {
-                               if (IsMonodocFile (f))
-                                       ValidateFile (f);
-                       }
-
-                       string[] dirs = Directory.GetDirectories (dir);
-                       foreach (string d in dirs)
-                               RecurseDirectory (d);
-               }
-
-               void OnValidationEvent (object sender, ValidationEventArgs a)
-               {
-                       errors ++;
-                       Message (TraceLevel.Error, "mdoc: {0}", a.Message);
-               }
-
-               static bool IsMonodocFile (string file)
-               {
-                               if (File.Exists (file) && Path.GetExtension (file).ToLower () == ".xml")
-                                       return true;
-                               else
-                                       return false;
-                       
-               }
-       }
-}
-
diff --git a/mcs/tools/mdoc/Mono.Documentation/webdoc.cs b/mcs/tools/mdoc/Mono.Documentation/webdoc.cs
deleted file mode 100644 (file)
index 75d65a2..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-//
-// webdoc.cs
-//
-// Author:
-//   Jonathan Pryor  <jpryor@novell.com>
-//
-// Copyright (c) 2009 Novell, Inc. (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Web;
-using System.Xml.Linq;
-
-using Monodoc;
-using Monodoc.Generators;
-using Monodoc.Caches;
-using Mono.Documentation;
-
-using Mono.Options;
-using Mono.Rocks;
-
-using ICSharpCode.SharpZipLib.Zip;
-
-namespace Mono.Documentation
-{
-       public class MDocExportWebdocHtml : MDocCommand
-       {
-               class Options {
-                       public Dictionary<string, List<string>> Formats = new Dictionary<string, List<string>>();
-                       public List<string> Sources = new List<string>();
-                       public bool UseSystemSources = true;
-                       public bool ForceUpdate = false;
-                       public string OutputDirectory = null;
-               }
-
-               public override void Run (IEnumerable<string> args)
-               {
-                       var opts = new Options ();
-                       var formatOptions = MDocAssembler.CreateFormatOptions (this, opts.Formats);
-                       var options = new OptionSet () {
-                               { "force-update",
-                                       "Always generate new files.  If not specified, will only generate " +
-                                       "files if the write time of the output directory is older than the " +
-                                       "write time of the source .tree/.zip files.",
-                                       v => opts.ForceUpdate = v != null },
-                               formatOptions [0],
-                               formatOptions [1],
-                               { "o|out=",
-                                       "The {PREFIX} to place the generated files and directories.  " +
-                                       "Default: \"`dirname FILE`/cache/\".\n" +
-                                       "Underneath {PREFIX}, `basename FILE .tree` directories will be " +
-                                       "created which will contain the pre-generated HTML content.",
-                                       v => opts.OutputDirectory = v },
-                               { "r=",
-                                       "A {SOURCE} file to use for reference purposes.\n" +
-                                       "Extension methods are searched for among all {SOURCE}s which are referenced.\n" +
-                                       "This option may be specified multiple times.",
-                                       v => opts.Sources.Add (v) },
-                               { "use-system-sources",
-                                       "Use the system-wide .source files for reference purposes. " +
-                                       "Default is " + (opts.UseSystemSources ? "enabled" : "disabled") + ".",
-                                       v => opts.UseSystemSources = v != null },
-                       };
-                       Parse (options, args, "export-html-webdoc",
-                                       "[OPTIONS]+ FILES",
-                                       "Export mdoc documentation within FILES to HTML for use by ASP.NET webdoc.\n\n" +
-                                       "FILES are .tree or .zip files as produced by 'mdoc assemble', or .source files\n" +
-                                       "which reference .tree and .zip files produced by 'mdoc assemble'.\n\n" +
-                                       "See mdoc(5) or mdoc-assemble(1) for information about the .source file format.");
-                       if (opts.Formats.Values.All (files => files.Count == 0))
-                               Error ("No files specified.");
-                       ProcessSources (opts);
-                       foreach (var p in opts.Formats)
-                               ProcessFiles (opts, p.Key, p.Value);
-               }
-
-               void ProcessSources (Options opts)
-               {
-                       foreach (var p in opts.Formats) {
-                               var files = p.Value;
-                               foreach (var f in files.Where (f => f.EndsWith (".source")).ToList ()) {
-                                       files.Remove (f);
-                                       foreach (var tfi in GetTreeFilesFromSource (f)) {
-                                               List<string> treeFiles;
-                                               if (!opts.Formats.TryGetValue (tfi.Key, out treeFiles))
-                                                       opts.Formats.Add (tfi.Key, treeFiles = new List<string> ());
-                                               treeFiles.Add (tfi.Value);
-                                       }
-                               }
-                       }
-               }
-
-               IEnumerable<KeyValuePair<string, string>> GetTreeFilesFromSource (string sourceFile)
-               {
-                       try {
-                               var source = XElement.Load (sourceFile);
-                               return source.Descendants ("source")
-                                       .Select (e => new KeyValuePair<string, string>(e.Attribute ("provider").Value,
-                                                               Path.Combine (Path.GetDirectoryName (sourceFile), e.Attribute ("basefile").Value + ".tree")));
-                       }
-                       catch (Exception e) {
-                               Message (TraceLevel.Error, "mdoc: error parsing file {0}: {1}", sourceFile, e.Message);
-                               return new KeyValuePair<string, string>[0];
-                       }
-               }
-
-               void ProcessFiles (Options opts, string format, List<string> files)
-               {
-                       foreach (var basePath in
-                                       files.Select (f =>
-                                                       Path.Combine (Path.GetDirectoryName (f), Path.GetFileNameWithoutExtension (f)))
-                                       .Distinct ()) {
-                               string treeFile = basePath + ".tree";
-                               string zipFile  = basePath + ".zip";
-                               if (!Exists (treeFile) || !Exists (zipFile))
-                                       continue;
-                               string outDir = opts.OutputDirectory != null
-                                       ? Path.Combine (opts.OutputDirectory, Path.GetFileName (basePath))
-                                       : XmlDocUtils.GetCacheDirectory (basePath);
-                               if (!opts.ForceUpdate && Directory.Exists (outDir) &&
-                                                       MaxWriteTime (treeFile, zipFile) < Directory.GetLastWriteTime (outDir))
-                                       continue;
-                               Message (TraceLevel.Warning, "Processing files: {0}, {1}", treeFile, zipFile);
-                               Directory.CreateDirectory (outDir);
-                               ExtractZipFile (zipFile, outDir);
-                               GenerateCache (opts, basePath, format, outDir);
-                       }
-               }
-
-               bool Exists (string file)
-               {
-                       if (!File.Exists (file)) {
-                                       Message (TraceLevel.Error,
-                                                       "mdoc: Could not find file: {0}", file);
-                                       return false;
-                       }
-                       return true;
-               }
-
-               DateTime MaxWriteTime (params string[] files)
-               {
-                       return files.Select (f => File.GetLastWriteTime (f)).Max ();
-               }
-
-               void ExtractZipFile (string zipFile, string outDir)
-               {
-                       ZipInputStream zip = new ZipInputStream (File.OpenRead (zipFile));
-
-                       ZipEntry entry;
-                       while ((entry = zip.GetNextEntry ()) != null) {
-                               string file = Path.Combine (outDir, entry.Name);
-                               Directory.CreateDirectory (Path.GetDirectoryName (file));
-                               using (var output = File.OpenWrite (file))
-                                       zip.WriteTo (output);
-                       }
-               }
-
-               void GenerateCache (Options opts, string basePath, string format, string outDir)
-               {
-                       var hs = RootTree.GetHelpSource (format, basePath);
-                       if (hs == null) {
-                               Error ("Unable to find a HelpSource for provider '{0}' and file '{1}.tree'.", format, basePath);
-                       }
-                       var tree = hs.Tree;
-                       RootTree docRoot = null;
-                       if (!opts.UseSystemSources)
-                               docRoot = RootTree.LoadTree (null, null, opts.Sources);
-                       else {
-                               docRoot = RootTree.LoadTree ();
-                               foreach (var source in opts.Sources)
-                                       docRoot.AddSourceFile (source);
-                       }
-                       hs.RootTree = docRoot;
-                       var generator = new HtmlGenerator (new NullCache ());
-                       foreach (Node node in tree.RootNode.TraverseDepthFirst<Node, Node> (t => t, t => t.ChildNodes)) {
-                               var url = node.PublicUrl;
-                               Message (TraceLevel.Info, "\tProcessing URL: {0}", url);
-                               if (string.IsNullOrEmpty (url))
-                                       continue;
-                               var file = XmlDocUtils.GetCachedFileName (outDir, url);
-                               using (var o = File.AppendText (file)) {
-                                       string contents = docRoot.RenderUrl (url, generator, hs);
-                                       o.Write (contents);
-                               }
-                       }
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Mono.Rocks/ObjectRocks.cs b/mcs/tools/mdoc/Mono.Rocks/ObjectRocks.cs
deleted file mode 100644 (file)
index c1014dc..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-// Object.cs: C# extension methods on object.
-//
-// Author:
-//   Jonathan Pryor  <jpryor@novell.com>
-//   leppie  (http://xacc.wordpress.com/)
-//
-// Copyright (c) 2008-2009 Novell, Inc. (http://www.novell.com)
-// Copyright (c) 2009 leppie (http://xacc.wordpress.com/)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Expressions;
-
-namespace Mono.Rocks {
-
-       static class Check {
-               public static void ChildrenSelector (object childrenSelector)
-               {
-                       if (childrenSelector == null)
-                               throw new ArgumentNullException ("childrenSelector");
-               }
-
-               public static void Destination (object destination)
-               {
-                       if (destination == null)
-                               throw new ArgumentNullException ("destination");
-               }
-
-               public static void Self (object self)
-               {
-                       if (self == null)
-                               throw new ArgumentNullException ("self");
-               }
-
-               public static void ValueSelector (object valueSelector)
-               {
-                       if (valueSelector == null)
-                               throw new ArgumentNullException ("valueSelector");
-               }
-       }
-
-       public static class ObjectRocks {
-
-               #region Tree Traversal Methods
-
-               /*
-                * Tree Traversal Methods courtesy of:
-                * http://xacc.wordpress.com/2009/03/05/tree-traversal-extension-methods/
-                */
-
-               public static IEnumerable<TResult> TraverseDepthFirst<TSource, TResult>(
-                               this TSource self,
-                               Func<TSource, TResult> valueSelector,
-                               Func<TSource, IEnumerable<TSource>> childrenSelector)
-               {
-                       return self.TraverseDepthFirstWithParent (valueSelector, childrenSelector)
-                               .Select(x => x.Value);
-               }
-
-               public static IEnumerable<KeyValuePair<TSource, TResult>> TraverseDepthFirstWithParent<TSource, TResult>(
-                               this TSource self,
-                               Func<TSource, TResult> valueSelector,
-                               Func<TSource, IEnumerable<TSource>> childrenSelector)
-               {
-                       return self.TraverseDepthFirstWithParent (default (TSource), valueSelector, childrenSelector);
-               }
-
-               static IEnumerable<KeyValuePair<TSource, TResult>> TraverseDepthFirstWithParent<TSource, TResult>(
-                               this TSource self,
-                               TSource parent,
-                               Func<TSource, TResult> valueSelector,
-                               Func<TSource, IEnumerable<TSource>> childrenSelector)
-               {
-                       Check.Self (self);
-                       Check.ValueSelector (valueSelector);
-                       Check.ChildrenSelector (childrenSelector);
-
-                       return CreateTraverseDepthFirstWithParentIterator (self, parent, valueSelector, childrenSelector);
-               }
-
-               static IEnumerable<KeyValuePair<TSource, TResult>> CreateTraverseDepthFirstWithParentIterator<TSource, TResult>(
-                               this TSource self,
-                               TSource parent,
-                               Func<TSource, TResult> valueSelector,
-                               Func<TSource, IEnumerable<TSource>> childrenSelector)
-               {
-                       yield return new KeyValuePair<TSource, TResult>(parent, valueSelector (self));
-
-                       foreach (var c in childrenSelector (self))
-                       {
-                               foreach (var item in c.TraverseDepthFirstWithParent(c, valueSelector, childrenSelector))
-                               {
-                                       yield return item;
-                               }
-                       }
-               }
-               #endregion
-       }
-}
-
diff --git a/mcs/tools/mdoc/Mono.Rocks/StreamRocks.cs b/mcs/tools/mdoc/Mono.Rocks/StreamRocks.cs
deleted file mode 100644 (file)
index e118f05..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// Stream.cs
-//
-// Authors:
-//   Jonathan Pryor  <jpryor@novell.com>
-//   Bojan Rajkovic  <bojanr@brandeis.edu>
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace Mono.Rocks {
-
-       public static class StreamRocks {
-
-               public static void WriteTo (this Stream self, Stream destination)
-               {
-                       Check.Self (self);
-                       Check.Destination (destination);
-
-                       int size = self.CanSeek
-                               ? (int) System.Math.Min (self.Length - self.Position, 4096)
-                               : 4096;
-                       byte[] buf = new byte [size];
-                       int r;
-                       while ((r = self.Read (buf, 0, buf.Length)) > 0)
-                               destination.Write (buf, 0, r);
-               }
-       }
-}
diff --git a/mcs/tools/mdoc/Resources/defaulttemplate.xsl b/mcs/tools/mdoc/Resources/defaulttemplate.xsl
deleted file mode 100644 (file)
index a44b919..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:output 
-    encoding="UTF-8"
-    indent="yes"
-    method="xml"
-    omit-xml-declaration="yes" 
-  />
-
-  <xsl:template match="Page">
-    <html>
-      <head>
-        <title>
-          <xsl:value-of select="Title" />
-        </title>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-        <xsl:call-template name="create-default-style" />
-        <xsl:call-template name="create-default-script" />
-      </head>
-      <body>
-        <!-- HEADER -->
-        <xsl:call-template name="create-default-collection-title" />
-        <xsl:call-template name="create-index" />
-        <xsl:call-template name="create-default-title" />
-        <xsl:call-template name="create-default-summary" />
-        <xsl:call-template name="create-default-signature" />
-        <xsl:call-template name="create-default-remarks" />
-        <xsl:call-template name="create-default-members" />
-        <hr size="1" />
-        <xsl:call-template name="create-default-copyright" />
-      </body>
-    </html>
-  </xsl:template>
-
-  <!-- IDENTITY TRANSFORMATION -->
-  <xsl:template match="@*|node()">
-    <xsl:copy>
-      <xsl:apply-templates select="@*|node()" />
-    </xsl:copy>
-  </xsl:template>
-
-  <xsl:template name="create-default-style">
-    <style>
-      a { text-decoration: none }
-
-      div.SideBar {
-        padding-left: 1em;
-        padding-right: 1em;
-        right: 0;
-        float: right;
-        border: thin solid black;
-        background-color: #f2f2f2;
-      }
-    
-      .CollectionTitle { font-weight: bold }
-      .PageTitle { font-size: 150%; font-weight: bold }
-
-      .Summary { }
-      .Signature { }          
-      .Remarks { }
-      .Members { }
-      .Copyright { }
-      
-      .Section { font-size: 125%; font-weight: bold }
-      p.Summary {
-        margin-left: 1em;
-      }
-      .SectionBox { margin-left: 2em }
-      .NamespaceName { font-size: 105%; font-weight: bold }
-      .NamespaceSumary { }
-      .MemberName { font-size: 115%; font-weight: bold; margin-top: 1em }
-      .Subsection { font-size: 105%; font-weight: bold }
-      .SubsectionBox { margin-left: 2em; margin-bottom: 1em }
-
-      .CodeExampleTable { background-color: #f5f5dd; border: thin solid black; padding: .25em; }
-      
-      .TypesListing {
-        border-collapse: collapse;
-      }
-
-      td {
-        vertical-align: top;
-      }
-      th {
-        text-align: left;
-      }
-
-      .TypesListing td { 
-        margin: 0px;  
-        padding: .25em;
-        border: solid gray 1px;
-      }
-
-      .TypesListing th { 
-        margin: 0px;  
-        padding: .25em;
-        background-color: #f2f2f2;
-        border: solid gray 1px;
-      }
-
-      div.Footer {
-        border-top: 1px solid gray;
-        margin-top: 1.5em;
-        padding-top: 0.6em;
-        text-align: center;
-        color: gray;
-      }
-
-      span.NotEntered /* Documentation for this section has not yet been entered */ {
-        font-style: italic;
-        color: red;    
-      }
-
-      div.Header {
-        background: #B0C4DE;
-        border: double;
-        border-color: white;
-        border-width: 7px;
-        padding: 0.5em;
-      }
-
-      div.Header * {
-        font-size: smaller;
-      }
-
-      div.Note {
-      }
-
-      i.ParamRef {
-      }
-
-      i.subtitle {
-      }
-
-      ul.TypeMembersIndex {
-        text-align: left;
-        background: #F8F8F8;
-      }
-
-      ul.TypeMembersIndex li {
-        display: inline;
-        margin:  0.5em;
-      }
-
-      table.HeaderTable {
-      }
-
-      table.SignatureTable {
-      }
-
-      table.Documentation, table.Enumeration, table.TypeDocumentation {
-        border-collapse: collapse;
-        width: 100%;
-      }
-
-      table.Documentation tr th, table.TypeMembers tr th, table.Enumeration tr th, table.TypeDocumentation tr th {
-        background: whitesmoke;
-        padding: 0.8em;
-        border: 1px solid gray;
-        text-align: left;
-        vertical-align: bottom;
-      }
-
-      table.Documentation tr td, table.TypeMembers tr td, table.Enumeration tr td, table.TypeDocumentation tr td {
-        padding: 0.5em;
-        border: 1px solid gray;
-        text-align: left;
-        vertical-align: top;
-      }
-
-      table.TypeMembers {
-        border: 1px solid #C0C0C0;
-        width: 100%;
-      }
-
-      table.TypeMembers tr td {
-        background: #F8F8F8;
-        border: white;
-      }
-
-      table.Documentation {
-      }
-
-      table.TypeMembers {
-      }
-
-      div.CodeExample {
-        width: 100%;
-        border: 1px solid #DDDDDD;
-        background-color: #F8F8F8;
-      }
-
-      div.CodeExample p {
-        margin: 0.5em;
-        border-bottom: 1px solid #DDDDDD;
-      }
-
-      div.CodeExample div {
-        margin: 0.5em;
-      }
-
-      h4 {
-        margin-bottom: 0;
-      }
-
-      div.Signature {
-        border: 1px solid #C0C0C0;
-        background: #F2F2F2;
-        padding: 1em;
-      }
-    </style>
-  </xsl:template>
-
-  <xsl:template name="create-default-script">
-    <script type="text/JavaScript">
-      function toggle_display (block) {
-        var w = document.getElementById (block);
-        var t = document.getElementById (block + ":toggle");
-        if (w.style.display == "none") {
-          w.style.display = "block";
-          t.innerHTML = "⊟";
-        } else {
-          w.style.display = "none";
-          t.innerHTML = "⊞";
-        }
-      }
-    </script>
-  </xsl:template>
-
-  <xsl:template name="create-index">
-    <xsl:if test="
-        count(PageTitle/@id) &gt; 0 and 
-        (count(Signature/@id) &gt; 0 or count(Signature/div/@id) &gt; 0) and
-        count(Remarks/@id) &gt; 0 and
-        count(Members/@id) &gt; 0
-        ">
-      <div class="SideBar">
-        <p>
-          <a>
-            <xsl:attribute name="href">
-              <xsl:text>#</xsl:text>
-              <xsl:value-of select="PageTitle/@id" />
-            </xsl:attribute>
-            <xsl:text>Overview</xsl:text>
-          </a>
-        </p>
-        <p>
-          <a>
-            <xsl:attribute name="href">
-              <xsl:text>#</xsl:text>
-              <xsl:value-of select="Signature/@id" />
-              <xsl:value-of select="Signature/div/@id" />
-            </xsl:attribute>
-            <xsl:text>Signature</xsl:text>
-          </a>
-        </p>
-        <p>
-          <a>
-            <xsl:attribute name="href">
-              <xsl:text>#</xsl:text>
-              <xsl:value-of select="Remarks/@id" />
-            </xsl:attribute>
-            <xsl:text>Remarks</xsl:text>
-          </a>
-        </p>
-        <p>
-          <a href="#Members">Members</a>
-        </p>
-        <p>
-          <a>
-            <xsl:attribute name="href">
-              <xsl:text>#</xsl:text>
-              <xsl:value-of select="Members/@id" />
-            </xsl:attribute>
-            <xsl:text>Member Details</xsl:text>
-          </a>
-        </p>
-      </div>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template name="create-default-collection-title">
-    <div class="CollectionTitle">
-      <xsl:apply-templates select="CollectionTitle/node()" />
-    </div>
-  </xsl:template>
-
-  <xsl:template name="create-default-title">
-    <h1 class="PageTitle">
-      <xsl:if test="count(PageTitle/@id) &gt; 0">
-        <xsl:attribute name="id">
-          <xsl:value-of select="PageTitle/@id" />
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="PageTitle/node()" />
-    </h1>
-  </xsl:template>
-
-  <xsl:template name="create-default-summary">
-    <p class="Summary">
-      <xsl:if test="count(Summary/@id) &gt; 0">
-        <xsl:attribute name="id">
-          <xsl:value-of select="Summary/@id" />
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="Summary/node()" />
-    </p>
-  </xsl:template>
-
-  <xsl:template name="create-default-signature">
-    <div>
-      <xsl:if test="count(Signature/@id) &gt; 0">
-        <xsl:attribute name="id">
-          <xsl:value-of select="Signature/@id" />
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="Signature/node()" />
-    </div>
-  </xsl:template>
-
-  <xsl:template name="create-default-remarks">
-    <div class="Remarks">
-      <xsl:if test="count(Remarks/@id) &gt; 0">
-        <xsl:attribute name="id">
-          <xsl:value-of select="Remarks/@id" />
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="Remarks/node()" />
-    </div>
-  </xsl:template>
-
-  <xsl:template name="create-default-members">
-    <div class="Members">
-      <xsl:if test="count(Members/@id) &gt; 0">
-        <xsl:attribute name="id">
-          <xsl:value-of select="Members/@id" />
-        </xsl:attribute>
-      </xsl:if>
-      <xsl:apply-templates select="Members/node()" />
-    </div>
-  </xsl:template>
-
-  <xsl:template name="create-default-copyright">
-    <div class="Copyright">
-      <xsl:apply-templates select="Copyright/node()" />
-    </div>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/mcs/tools/mdoc/Resources/monodoc-ecma.xsd b/mcs/tools/mdoc/Resources/monodoc-ecma.xsd
deleted file mode 100644 (file)
index b0a64a1..0000000
+++ /dev/null
@@ -1,1166 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Author: John Luke <john.luke@gmail.com>
-This is a (not very strict) schema for the monodoc
-ecma-provider format.
-TODO:
-make base type for summary, remarks, returns, etc
-alias duplicate attributes
-make stricter in order and occurance
-add masterdoc support?
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
-
-  <!-- define attributes -->
-  <xs:attribute name="preserve-mono" type="xs:string" />
-  <xs:attribute name="license" type="xs:string" />
-  <xs:attribute name="from" type="xs:string" />
-  <xs:attribute name="modified" type="xs:boolean" />
-  <xs:attribute name="argnames" type="xs:string" />
-  <xs:attribute name="cref" type="xs:string" />
-  <xs:attribute name="Deprecated" type="xs:boolean" />
-  <xs:attribute name="FullName" type="xs:string" />
-  <xs:attribute name="FullNameSP" type="xs:string" />
-  <xs:attribute name="id" type="xs:string" />
-  <xs:attribute name="inherited" type="xs:string" />
-  <xs:attribute name="language" type="xs:string" />
-  <xs:attribute name="Language" type="xs:string" />
-  <xs:attribute name="lang" type="xs:string" />
-  <xs:attribute name="langword" type="xs:string" />
-  <xs:attribute name="Library" type="xs:string" />
-  <xs:attribute name="location" type="xs:string" />
-  <xs:attribute name="Maintainer" type="xs:string" />
-  <xs:attribute name="MemberName" type="xs:string" />
-  <xs:attribute name="name" type="xs:string" />
-  <xs:attribute name="Name" type="xs:string" />
-  <xs:attribute name="namespace" type="xs:string" />
-  <xs:attribute name="propertytype" type="xs:string" />
-  <xs:attribute name="qualify" type="xs:boolean" />
-  <xs:attribute name="RefType" type="xs:string" />
-  <xs:attribute name="returntype" type="xs:string" />
-  <xs:attribute name="source" type="xs:string" />
-  <xs:attribute name="src" type="xs:string" />
-  <xs:attribute name="subset" type="xs:string" />
-  <xs:attribute name="Value" type="xs:string" />
-  <xs:attribute name="version" type="xs:string" />
-  <xs:attribute name="tool" type="xs:string" />
-  <xs:attribute name="type" type="xs:string" />
-  <xs:attribute name="Type" type="xs:string" />
-  <xs:attribute name="TypeParamName" type="xs:string" />
-
-  <!-- define simple elements -->
-  <xs:element name="AssemblyName" type="xs:string" />
-  <xs:element name="AssemblyPublicKey" type="xs:string" />
-  <xs:element name="AssemblyVersion" type="xs:string" />
-  <xs:element name="AssemblyCulture" type="xs:string" />
-  <xs:element name="AttributeName" type="xs:string" />
-  <xs:element name="BaseTypeName" type="xs:string" />
-  <xs:element name="Excluded" type="xs:string" />
-  <xs:element name="ExcludedBaseTypeName" type="xs:string" />
-  <xs:element name="ExcludedLibrary" type="xs:string" />
-  <xs:element name="ExcludedLibraryName" type="xs:string" />
-  <xs:element name="ExcludedTypeName" type="xs:string" />
-  <xs:element name="i" type="xs:string" />
-  <xs:element name="InterfaceName" type="xs:string" />
-  <xs:element name="li" type="xs:string" />
-  <xs:element name="MemberOfLibrary" type="xs:string" />
-  <xs:element name="MemberType" type="xs:string" />
-  <xs:element name="MemberValue" type="xs:string" />
-  <xs:element name="onequarter" />
-  <xs:element name="PRE" />
-  <xs:element name="permille" />
-  <xs:element name="pi" />
-  <xs:element name="pre" />
-  <xs:element name="ReturnType" type="xs:string" />
-  <xs:element name="TypeExcluded" type="xs:string" />
-
-  <!-- define complex elements -->
-  <xs:element name="altcompliant">
-    <xs:complexType>
-      <xs:attribute ref="cref" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="altmember">
-    <xs:complexType>
-      <xs:simpleContent>
-        <xs:extension base="xs:string">
-          <xs:attribute ref="cref" />
-        </xs:extension>
-      </xs:simpleContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="AssemblyInfo">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="AssemblyName" minOccurs="0" />
-        <xs:element ref="AssemblyPublicKey" minOccurs="0" />
-        <xs:element ref="AssemblyVersion" minOccurs="0" maxOccurs="unbounded" />
-        <xs:element ref="AssemblyCulture" minOccurs="0" />
-        <xs:element ref="Attributes" minOccurs="0" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Attribute">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="AttributeName" />
-        <xs:element ref="Excluded" minOccurs="0" />
-        <xs:element ref="ExcludedTypeName" minOccurs="0" />
-        <xs:element ref="ExcludedLibraryName" minOccurs="0" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Attributes">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="Attribute" minOccurs="0" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Base">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="BaseTypeName" minOccurs="0" />
-        <xs:element ref="BaseTypeArguments" minOccurs="0" />
-        <xs:element ref="ExcludedBaseTypeName" minOccurs="0" />
-        <xs:element ref="ExcludedLibraryName" minOccurs="0" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="BaseTypeArgument">
-    <xs:complexType mixed="true">
-      <xs:attribute ref="TypeParamName" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="BaseTypeArguments">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="BaseTypeArgument" minOccurs="0" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="block">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="c" />
-        <xs:element ref="code" />
-        <xs:element ref="format" />
-        <xs:element ref="list" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="subscript" />
-        <xs:element ref="sup" />
-        <xs:element ref="pi" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-      <xs:attribute ref="subset" />
-      <xs:attribute ref="type" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="c">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="code" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="class">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="constructor" />
-        <xs:element ref="property" />
-        <xs:element ref="method" />
-        <xs:element ref="field" />
-        <xs:element ref="operator" />
-        <xs:element ref="event" />
-        <xs:element ref="enum" />
-        <xs:element ref="class" />
-        <xs:element ref="struct" />
-        <xs:element ref="interface" />
-        <xs:element ref="delegate" />
-      </xs:choice>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="namespace" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="code">
-    <xs:complexType>
-      <xs:simpleContent>
-        <xs:extension base="xs:string">
-          <xs:attribute ref="lang" />
-          <xs:attribute ref="language" />
-          <xs:attribute ref="source" />
-          <xs:attribute ref="src" />
-        </xs:extension>
-      </xs:simpleContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="constructor">
-    <xs:complexType>
-          <xs:attribute ref="name" />
-          <xs:attribute ref="argnames" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="delegate">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="constructor" />
-        <xs:element ref="method" />
-        <xs:element ref="property" />
-        <xs:element ref="operator" />
-      </xs:choice>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="namespace" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="description">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="c" />
-        <xs:element ref="block" />
-        <xs:element ref="geq" />
-        <xs:element ref="leq" />
-        <xs:element ref="paramref" />
-        <xs:element ref="para" />
-        <xs:element ref="permille" />
-        <xs:element ref="plusminus" />
-        <xs:element ref="SPAN" />
-        <xs:element ref="see" />
-        <xs:element ref="sub" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Docs">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="summary" />
-        <xs:element ref="param" />
-        <xs:element ref="exception" />
-        <xs:element ref="returns" />
-        <xs:element ref="remarks" />
-        <xs:element ref="example" />
-        <xs:element ref="value" />
-        <xs:element ref="permission" />
-        <xs:element ref="PermissionSet" />
-        <xs:element ref="altmember" />
-        <xs:element ref="altcompliant" />
-        <xs:element ref="since" />
-        <xs:element ref="threadsafe" />
-        <xs:element ref="typeparam" />
-        <xs:element ref="filterpriority" />
-        <xs:element ref="related" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:simpleType name="relatedType">
-    <xs:restriction base="xs:string">
-      <!-- External code/application samples -->
-      <xs:enumeration value="sample"/>
-      <!-- e.g. ECMA, OPC, OData, ... specs -->
-      <xs:enumeration value="specification"/>
-      <!-- e.g. Apple/Android documentation -->
-      <xs:enumeration value="externalDocumentation" />
-      <!-- e.g. a more in-depth article at docs.xamarin.com -->
-      <xs:enumeration value="article" />
-         <!-- e.g. a small article describing succintly a feature -->
-         <xs:enumeration value="recipe" />
-    </xs:restriction>
-  </xs:simpleType>
-
-  <xs:element name="related">
-    <xs:complexType mixed="true">
-      <xs:attribute name="type" type="relatedType" />
-      <xs:attribute name="href" type="xs:anyURI" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="enum">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="field" />
-        <xs:element ref="method" />
-      </xs:choice>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="namespace" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="event">
-    <xs:complexType>
-          <xs:attribute ref="name" />
-          <xs:attribute ref="inherited" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="example">
-    <xs:complexType mixed="true">
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="format" />
-        <xs:element ref="para" />
-        <xs:element ref="code" />
-        <xs:element ref="codelink" />
-        <xs:element ref="c" />
-        <xs:element ref="list" />
-        <xs:element ref="see" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="exception">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="format" />
-        <xs:element ref="list" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="SPAN" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-      <xs:attribute ref="cref" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="field">
-    <xs:complexType>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="inherited" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="format">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
-      </xs:sequence>
-      <xs:attribute ref="type" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="interface">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="constructor" />
-        <xs:element ref="property" />
-        <xs:element ref="method" />
-        <xs:element ref="field" />
-        <xs:element ref="event" />
-      </xs:choice>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="namespace" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Interface">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="InterfaceName" />
-        <xs:element ref="Excluded" minOccurs="0" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Interfaces">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="Interface" minOccurs="0" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="item">
-    <xs:complexType>
-       <xs:sequence>
-          <xs:element ref="term" minOccurs="1" maxOccurs="1" />
-          <xs:element ref="description" minOccurs="0" maxOccurs="unbounded" />
-        </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="link">
-    <xs:complexType>
-      <xs:simpleContent>
-        <xs:extension base="xs:string">
-          <xs:attribute ref="location" />
-        </xs:extension>
-      </xs:simpleContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="list">
-    <xs:complexType>
-       <xs:sequence>
-          <xs:element ref="listheader" minOccurs="0" maxOccurs="1" />
-          <xs:element ref="item" minOccurs="0" maxOccurs="unbounded" />
-        </xs:sequence>
-        <xs:attribute name="type" type="xs:string" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="listheader">
-    <xs:complexType>
-      <xs:sequence>
-          <xs:element ref="term" />
-          <xs:element ref="description" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="masterdoc">
-    <xs:complexType>
-       <xs:choice minOccurs="0" maxOccurs="unbounded">
-         <xs:element ref="class" />
-         <xs:element ref="delegate" />
-         <xs:element ref="interface" />
-         <xs:element ref="struct" />
-         <xs:element ref="enum" />
-       </xs:choice>
-       <xs:attribute name="assembly" type="xs:string" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="MemberSignature">
-    <xs:complexType>
-      <xs:attribute ref="Language" />
-      <xs:attribute ref="Value" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Link">
-    <xs:complexType>
-      <xs:attribute ref="Type" use="required" />
-      <xs:attribute name="Member" type="xs:string" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Member">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="MemberSignature" minOccurs="1" maxOccurs="unbounded" />
-        <xs:element ref="MemberType" maxOccurs="1" />
-        <xs:element ref="AssemblyInfo" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="Attributes" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="ReturnValue" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="TypeParameters" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="Parameters" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="MemberValue" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="Docs" maxOccurs="1" />
-        <xs:element ref="Excluded" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="ExcludedLibrary" minOccurs="0" maxOccurs="unbounded" />
-        <xs:element ref="Link" minOccurs="0" maxOccurs="1" />
-      </xs:sequence>
-      <xs:attribute ref="MemberName" />
-      <xs:attribute ref="Deprecated" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Members">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="Member" minOccurs="0" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="method">
-    <xs:complexType>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="argnames" />
-      <xs:attribute ref="inherited" />
-      <xs:attribute ref="returntype" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Namespace">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="Docs" maxOccurs="1" />
-      </xs:sequence>
-      <xs:attribute ref="Name" />
-      <xs:attribute ref="FullName" />
-      <xs:attribute ref="FullNameSP" />
-      <xs:attribute ref="Maintainer" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="operator">
-    <xs:complexType>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="argnames" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="para">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="i" />
-        <xs:element ref="format" />
-        <xs:element ref="see" />
-        <xs:element ref="geq" />
-        <xs:element ref="leq" />
-        <xs:element ref="list" />
-        <xs:element ref="link" />
-        <xs:element ref="ul" />
-        <xs:element ref="paramref" />
-        <xs:element ref="c" />
-        <xs:element ref="onequarter" />
-        <xs:element ref="sub" />
-        <xs:element ref="superscript" />
-        <xs:element ref="sup" />
-        <xs:element ref="permille" />
-        <xs:element ref="plusminus" />
-        <xs:element ref="SPAN" />
-        <xs:element ref="pi" />
-        <xs:element ref="theta" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="whitespace" />
-        <xs:element ref="img" />
-      </xs:choice>
-      <xs:attribute ref="id" />
-      <xs:attribute ref="tool" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="img">
-       <xs:complexType>
-         <xs:attribute name="href" type="xs:string" use="required" />
-         <xs:attribute name="class" type="xs:string" use="optional" />
-       </xs:complexType>
-  </xs:element>
-
-  <xs:element name="param">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="c" />
-        <xs:element ref="format" />
-        <xs:element ref="see" />
-        <xs:element ref="block" />
-        <xs:element ref="geq" />
-        <xs:element ref="leq" />
-        <xs:element ref="paramref" />
-        <xs:element ref="plusminus" />
-        <xs:element ref="para" />
-        <xs:element ref="SPAN" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="whitespace" />
-        <xs:element ref="attribution" />
-      </xs:choice>
-      <xs:attribute ref="preserve-mono" />
-      <xs:attribute ref="name" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="paramref">
-    <xs:complexType>
-      <xs:attribute ref="name" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Parameter">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="Attributes" minOccurs="0" maxOccurs="1" />
-      </xs:sequence>
-      <xs:attribute ref="Name" />
-      <xs:attribute ref="Type" />
-      <xs:attribute ref="RefType" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Parameters">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="Parameter" minOccurs="0" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="permission">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="format" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-      <xs:attribute ref="cref" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="property">
-    <xs:complexType>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="inherited" />
-      <xs:attribute ref="propertytype" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="remarks">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="c" />
-        <xs:element ref="code" />
-        <xs:element ref="format" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="PRE" />
-        <xs:element ref="pre" />
-        <xs:element ref="see" />
-        <xs:element ref="ul" />
-        <xs:element ref="example" />
-        <xs:element ref="list" />
-        <xs:element ref="SPAN" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="attribution" />
-      </xs:choice>
-      <xs:attribute ref="preserve-mono" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="attribution">
-    <xs:complexType mixed="true">
-      <xs:attribute ref="license" />
-      <xs:attribute ref="from" />
-      <xs:attribute ref="modified" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="returns">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="c" />
-        <xs:element ref="format" />
-        <xs:element ref="geq" />
-        <xs:element ref="leq" />
-        <xs:element ref="list" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="pi" />
-        <xs:element ref="see" />
-        <xs:element ref="theta" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="ul" />
-        <xs:element ref="whitespace" />
-        <xs:element ref="attribution" />
-      </xs:choice>
-      <xs:attribute ref="preserve-mono" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="ReturnValue">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="ReturnType" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="Attributes" minOccurs="0" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="see">
-    <xs:complexType>
-      <xs:attribute ref="cref" />
-      <xs:attribute ref="langword"  />
-      <xs:attribute ref="qualify"  />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="since">
-    <xs:complexType>
-      <xs:attribute ref="version" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="SPAN">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="format" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="SPAN" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-      <xs:attribute ref="version" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="struct">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="constructor" />
-        <xs:element ref="property" />
-        <xs:element ref="method" />
-        <xs:element ref="field" />
-        <xs:element ref="operator" />
-        <xs:element ref="struct" />
-        <xs:element ref="class" />
-      </xs:choice>
-      <xs:attribute ref="name" />
-      <xs:attribute ref="namespace" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="sub">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="paramref" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="subscript">
-    <xs:complexType>
-      <xs:attribute name="term" type="xs:string" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="summary">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="c" />
-        <xs:element ref="format" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="ul" />
-        <xs:element ref="list" />
-        <xs:element ref="attribution" />
-      </xs:choice>
-      <xs:attribute ref="preserve-mono" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="sup">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="i" />
-        <xs:element ref="paramref" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="superscript">
-    <xs:complexType>
-      <xs:attribute name="term" type="xs:string" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="term">
-    <xs:complexType mixed="true">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="block" />
-          <xs:element ref="c" />
-          <xs:element ref="format" />
-          <xs:element ref="geq" />
-          <xs:element ref="leq" />
-          <xs:element ref="see" />
-          <xs:element ref="para"  />
-          <xs:element ref="paramref" />
-          <xs:element ref="pi" />
-          <xs:element ref="plusminus" />
-          <xs:element ref="sup" />
-          <xs:element ref="theta" />
-          <xs:element ref="typeparamref" />
-          <xs:element ref="whitespace" />
-        </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="theta" />
-
-  <xs:element name="threadsafe">
-    <xs:complexType>
-     <xs:sequence>
-       <xs:element ref="para" minOccurs="1" maxOccurs="unbounded" />
-     </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="ThreadingSafetyStatement">
-    <xs:complexType mixed="true">
-     <xs:sequence>
-       <xs:element ref="link" minOccurs="0" />
-     </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="ThreadSafetyStatement">
-    <xs:complexType mixed="true">
-     <xs:sequence>
-       <xs:element ref="link" minOccurs="0" />
-     </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Type">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="TypeSignature" minOccurs="1" />
-        <xs:element ref="MemberOfLibrary" minOccurs="0" />
-        <xs:element ref="AssemblyInfo" minOccurs="1" />
-        <xs:element ref="TypeParameters" minOccurs="0" maxOccurs="1" />
-        <xs:element ref="ThreadingSafetyStatement" minOccurs="0" />
-        <xs:element ref="ThreadSafetyStatement" minOccurs="0" />
-        <xs:element ref="Docs" minOccurs="1" />
-        <xs:element ref="Base" minOccurs="1" />
-        <xs:element ref="Interfaces" minOccurs="1" />
-        <xs:element ref="Attributes" minOccurs="1" />
-        <xs:element ref="Members" minOccurs="1" />
-        <xs:element ref="Parameters" minOccurs="0" />
-        <xs:element ref="ReturnValue" minOccurs="0" />
-        <xs:element ref="TypeExcluded" minOccurs="0" />
-      </xs:choice>
-      <xs:attribute ref="Name" use="required" />
-      <xs:attribute ref="FullName" use="required" />
-      <xs:attribute ref="FullNameSP" />
-      <xs:attribute ref="Maintainer" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Types">
-    <xs:complexType>
-      <xs:choice minOccurs="1" maxOccurs="unbounded">
-        <xs:element ref="Type" />
-      </xs:choice>
-      <xs:attribute ref="Library" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="typeparam">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="c" />
-        <xs:element ref="format" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="typeparamref" />
-      </xs:choice>
-      <xs:attribute ref="name" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="typeparamref">
-    <xs:complexType>
-      <xs:attribute ref="name" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="TypeParameters">
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element ref="TypeParameter" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="TypeParameter">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="Attributes" />
-        <xs:element ref="Constraints" />
-      </xs:choice>
-      <xs:attribute ref="Name" use="required" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Constraints">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element name="ParameterAttribute" type="xs:string" />
-        <xs:element ref="BaseTypeName" />
-        <xs:element ref="InterfaceName" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="TypeSignature">
-    <xs:complexType>
-      <xs:attribute ref="Language" use="required" />
-      <xs:attribute ref="Value" use="required" />
-      <xs:attribute ref="Maintainer" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="ul">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="li" minOccurs="1" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="value">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="c" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="ul" />
-        <xs:element ref="example" />
-        <xs:element ref="list" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <!-- 
-    index.xml & namespace-name.xml support 
-    -->
-
-  <!-- define attributes -->
-  <xs:attribute name="Version" type="xs:string" />
-  <xs:attribute name="DisplayName" type="xs:string" />
-  <xs:attribute name="Kind" type="xs:string" />
-
-  <!-- define simple elements -->
-  <xs:element name="Title" type="xs:string" />
-
-  <!-- define complex elements -->
-  <xs:element name="Assemblies">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="Assembly" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Assembly">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="AssemblyPublicKey" />
-        <xs:element ref="AssemblyCulture" />
-        <xs:element ref="Attributes" />
-      </xs:choice>
-      <xs:attribute ref="Name" />
-      <xs:attribute ref="Version" />
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Copyright">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="code" />
-        <xs:element ref="example" />
-        <xs:element ref="list" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="see" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="ul" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="ExtensionMethods">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="ExtensionMethod" minOccurs="0" maxOccurs="unbounded" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="ExtensionMethod">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="Targets" minOccurs="1" maxOccurs="1">
-          <xs:complexType>
-            <xs:choice minOccurs="1" maxOccurs="unbounded">
-              <xs:element name="Target">
-                <xs:complexType>
-                  <xs:attribute ref="Type" use="required" />
-                </xs:complexType>
-              </xs:element>
-            </xs:choice>
-          </xs:complexType>
-        </xs:element>
-        <xs:element ref="Member" minOccurs="1" maxOccurs="1" />
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Overview">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="Assemblies" />
-        <xs:element ref="Copyright" />
-        <xs:element ref="Remarks" />
-        <xs:element ref="Title" />
-        <xs:element name="Types">
-          <xs:complexType>
-            <xs:choice minOccurs="0" maxOccurs="unbounded">
-              <xs:element name="Namespace">
-                <xs:complexType>
-                  <xs:choice minOccurs="0" maxOccurs="unbounded">
-                    <xs:element name="Type">
-                      <xs:complexType>
-                        <xs:attribute ref="Name" use="required" />
-                        <xs:attribute ref="DisplayName" />
-                        <xs:attribute ref="Kind" />
-                      </xs:complexType>
-                    </xs:element>
-                  </xs:choice>
-                  <xs:attribute ref="Name" />
-                </xs:complexType>
-              </xs:element>
-            </xs:choice>
-          </xs:complexType>
-        </xs:element>
-        <xs:element ref="ExtensionMethods" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="Remarks">
-    <xs:complexType mixed="true">
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="block" />
-        <xs:element ref="code" />
-        <xs:element ref="example" />
-        <xs:element ref="list" />
-        <xs:element ref="para" />
-        <xs:element ref="paramref" />
-        <xs:element ref="typeparamref" />
-        <xs:element ref="see" />
-        <xs:element ref="ul" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <!--
-    ECMA 335 CLILibraryTypes.xml support
-    -->
-
-  <xs:element name="Libraries">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element ref="Types" minOccurs = "1" maxOccurs="unbounded" />
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-       <xs:element name="codelink">
-    <xs:complexType>
-      <xs:attribute name="SampleID" type="xs:string" />
-      <xs:attribute name="SnippedID" type="xs:string" />
-    </xs:complexType>
-       </xs:element>
-
-  <xs:element name="filterpriority" type="xs:string" />
-
-  <xs:element name="geq" />
-  <xs:element name="leq" />
-  <xs:element name="plusminus" />
-  <xs:element name="whitespace" />
-
-  <xs:element name="PermissionSet">
-    <xs:complexType>
-      <xs:choice minOccurs="0" maxOccurs="unbounded">
-        <xs:element name="IPermission">
-          <xs:complexType>
-            <xs:attribute name="class" type="xs:string" />
-            <xs:attribute name="Flags" type="xs:string" />
-            <xs:attribute name="Name" type="xs:string" />
-            <xs:attribute name="PathDiscovery" type="xs:string" />
-            <xs:attribute name="PublicKeyBlob" type="xs:string" />
-            <xs:attribute name="Read" type="xs:string" />
-            <xs:attribute name="Unrestricted" type="xs:string" />
-            <xs:attribute name="version" type="xs:string" />
-            <xs:attribute name="Window" type="xs:string" />
-          </xs:complexType>
-        </xs:element>
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
-
-  <!--
-    ECMA 334 Annex E Documentation Comments support.
-    -->
-
-  <xs:element name="seealso">
-    <xs:complexType>
-      <xs:simpleContent>
-        <xs:extension base="xs:string">
-          <xs:attribute ref="cref" />
-        </xs:extension>
-      </xs:simpleContent>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="doc">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="assembly">
-          <xs:complexType>
-            <xs:choice>
-              <xs:element name="name" type="xs:string" />
-            </xs:choice>
-          </xs:complexType>
-        </xs:element>
-        <xs:element name="members">
-          <xs:complexType>
-            <xs:choice minOccurs="0" maxOccurs="unbounded">
-              <xs:element name="member">
-                <xs:complexType>
-                  <xs:choice minOccurs="0" maxOccurs="unbounded">
-                    <xs:element ref="seealso" />
-                    <xs:element ref="example" />
-                    <xs:element ref="exception" />
-                    <xs:element ref="param" />
-                    <xs:element ref="permission" />
-                    <xs:element ref="PermissionSet" />
-                    <xs:element ref="remarks" />
-                    <xs:element ref="returns" />
-                    <xs:element ref="summary" />
-                    <xs:element ref="threadsafe" />
-                    <xs:element ref="typeparam" />
-                    <xs:element ref="value" />
-                  </xs:choice>
-                  <xs:attribute name="name" type="xs:string" />
-                </xs:complexType>
-              </xs:element>
-            </xs:choice>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-</xs:schema>
-
diff --git a/mcs/tools/mdoc/Resources/msitomsx.xsl b/mcs/tools/mdoc/Resources/msitomsx.xsl
deleted file mode 100644 (file)
index 33e532e..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Converts the "Microsoft Internal XML Documentation Format" into the 
-  "Microsoft XML Documentation Format".
-
-  The "Microsoft Internal XML Documentation Format" (msidoc) is whatever XML
-  format is used within Microsoft to document the BCL, as deduced from reading
-  their ECMA documentation dump.
-
-  The "Microsoft XML Documentation Format" (msxdoc) is what 'gmcs /doc' 
-  produces, and is documented in ECMA 334 Â§E.
-
-  msidoc is similar, but not identical to, msxdoc.  For example, where msxdoc
-  uses <see cref="FOO"/>, msidoc uses
-  <codeEntityReference>FOO</codeEntityReference>.  They also introduce
-  additional "wrapping" elements in various places (e.g. <content/>), useful
-  extensions (such as documenting method overload lists), and other oddities.
-  -->
-<xsl:stylesheet
-  version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:msxsl="urn:schemas-microsoft-com:xslt"
-  xmlns:authoring="http://ddue.schemas.microsoft.com/authoring/2003/5"
-  exclude-result-prefixes="msxsl authoring"
-  >
-
-  <xsl:output omit-xml-declaration="yes" />
-
-  <xsl:template match="assembly" />
-  <xsl:template match="authoring:changeHistory" />
-  <xsl:template match="authoring:clsCompliantAlternative" />
-  <xsl:template match="authoring:internalOnly" />
-  <xsl:template match="authoring:notesForCallers" />
-  <xsl:template match="authoring:notesForImplementers" />
-  <xsl:template match="authoring:notesForInheritors" />
-  <xsl:template match="authoring:overload" />
-  <xsl:template match="authoring:platformNotes" />
-  <xsl:template match="authoring:relatedTopics" />
-  <xsl:template match="authoring:sections" />
-
-  <xsl:template match="member">
-    <!-- skip Overload: members, as these have no msxdoc equivalent. -->
-    <xsl:if test="not (starts-with (@name, 'Overload:'))">
-      <member name="{@name}">
-        <xsl:apply-templates />
-      </member>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template match="authoring:remarks">
-    <remarks>
-      <xsl:apply-templates />
-      <xsl:for-each select="../authoring:notesForInheritors">
-        <block subset="none" type="overrides">
-          <xsl:apply-templates />
-        </block>
-      </xsl:for-each>
-      <xsl:for-each select="../authoring:notesForImplementers">
-        <block subset="none" type="behaviors">
-          <xsl:apply-templates />
-        </block>
-      </xsl:for-each>
-      <xsl:for-each select="../authoring:notesForCallers">
-        <block subset="none" type="usage">
-          <xsl:apply-templates />
-        </block>
-      </xsl:for-each>
-    </remarks>
-  </xsl:template>
-
-  <xsl:template match="authoring:dduexml" >
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:codeEntityReference">
-    <see cref="{.}" />
-  </xsl:template>
-
-  <xsl:template match="authoring:equivalentCodeEntity">
-    <seealso cref="{authoring:codeEntityReference}" />
-  </xsl:template>
-
-  <xsl:template match="authoring:codeInline">
-    <c>
-      <xsl:apply-templates />
-    </c>
-  </xsl:template>
-
-  <xsl:template match="authoring:codeReference">
-    <code src="{.}" />
-  </xsl:template>
-
-  <xsl:template match="authoring:parameters">
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:parameter">
-    <param name="{authoring:parameterReference}">
-      <xsl:for-each select="*">
-        <xsl:if test="not (position () = 1)">
-          <xsl:apply-templates />
-        </xsl:if>
-      </xsl:for-each>
-    </param>
-  </xsl:template>
-
-  <xsl:template match="authoring:genericParameters">
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:genericParameter">
-    <typeparam name="{authoring:parameterReference}">
-      <xsl:for-each select="*">
-        <xsl:if test="not (position () = 1)">
-          <xsl:apply-templates />
-        </xsl:if>
-      </xsl:for-each>
-    </typeparam>
-  </xsl:template>
-
-  <xsl:template match="authoring:parameterReference">
-    <paramref name="{.}" />
-  </xsl:template>
-
-  <xsl:template match="authoring:returnValue">
-    <returns>
-      <xsl:apply-templates />
-    </returns>
-  </xsl:template>
-
-  <xsl:template match="authoring:exceptions">
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:exception">
-    <exception cref="{authoring:codeEntityReference}">
-      <xsl:apply-templates select="authoring:content" />
-    </exception>
-  </xsl:template>
-
-  <xsl:template match="authoring:codeExamples">
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:codeExample">
-    <xsl:choose>
-      <xsl:when test="count(authoring:legacy) &gt; 0">
-      </xsl:when>
-      <xsl:otherwise>
-        <example>
-          <xsl:apply-templates select="authoring:description/authoring:content" />
-          <xsl:apply-templates select="authoring:codeReference" />
-        </example>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template match="authoring:content">
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:languageKeyword">
-    <see langword="{.}" />
-  </xsl:template>
-
-  <xsl:template match="authoring:table">
-    <list type="table">
-      <xsl:apply-templates />
-    </list>
-  </xsl:template>
-
-  <xsl:template match="authoring:tableHeader">
-    <listheader>
-      <xsl:for-each select="authoring:row/authoring:entry">
-        <xsl:choose>
-          <xsl:when test="position() = 1">
-            <term>
-              <xsl:apply-templates />
-            </term>
-          </xsl:when>
-          <xsl:otherwise>
-            <description>
-              <xsl:apply-templates />
-            </description>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:for-each>
-    </listheader>
-  </xsl:template>
-
-  <xsl:template match="authoring:row">
-    <item>
-      <xsl:for-each select="authoring:entry">
-        <xsl:choose>
-          <xsl:when test="position() = 1">
-            <term>
-              <xsl:apply-templates />
-            </term>
-          </xsl:when>
-          <xsl:otherwise>
-            <description>
-              <xsl:apply-templates />
-            </description>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:for-each>
-    </item>
-  </xsl:template>
-
-  <xsl:template match="authoring:list">
-    <list type="{@class}">
-      <xsl:apply-templates />
-    </list>
-  </xsl:template>
-
-  <xsl:template match="authoring:listItem">
-    <item><term>
-      <xsl:apply-templates />
-    </term></item>
-  </xsl:template>
-
-  <xsl:template match="authoring:alert">
-    <block subset="none" type="note">
-      <xsl:apply-templates />
-    </block>
-  </xsl:template>
-
-  <xsl:template match="authoring:permissions">
-    <xsl:apply-templates />
-  </xsl:template>
-
-  <xsl:template match="authoring:permission">
-    <permission cref="{authoring:codeEntityReference}">
-      <xsl:apply-templates select="authoring:content" />
-    </permission>
-  </xsl:template>
-
-  <xsl:template match="authoring:threadSafety">
-    <threadsafe>
-      <xsl:apply-templates />
-    </threadsafe>
-  </xsl:template>
-
-  <xsl:template match="authoring:embeddedLabel">
-    <i>
-      <xsl:value-of select="." />
-      <xsl:text>:</xsl:text>
-    </i>
-  </xsl:template>
-
-  <xsl:template match="authoring:externalLink">
-    <format type="text/html">
-      <a href="{authoring:linkUri}">
-        <xsl:value-of select="authoring:linkText" />
-      </a>
-    </format>
-  </xsl:template>
-
-  <xsl:template match="authoring:legacyLink">
-    <i>
-      <xsl:value-of select="." />
-    </i>
-  </xsl:template>
-
-  <xsl:template match="authoring:legacyItalic">
-    <i>
-      <xsl:value-of select="." />
-    </i>
-  </xsl:template>
-
-  <xsl:template match="authoring:token">
-    <xsl:choose>
-      <xsl:when test=". = 'compact_v20_long'">
-        <xsl:text>.NET Compact Framework version 2.0</xsl:text>
-      </xsl:when>
-      <xsl:when test=". = 'compact_v35_long'">
-        <xsl:text>.NET Compact Framework version 3.5</xsl:text>
-      </xsl:when>
-      <xsl:when test=". = 'dnprdnext'">
-        <xsl:text>.NET Framework version 2.0</xsl:text>
-      </xsl:when>
-      <xsl:when test=". = 'vbprvbext'">
-        <xsl:text>Microsoft Visual Basic 2005</xsl:text>
-      </xsl:when>
-      <xsl:when test=". = 'vbprvblong'">
-        <xsl:text>Visual Basic 2005</xsl:text>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:text>UNKNOWN_TOKEN(</xsl:text>
-        <xsl:value-of select="." />
-        <xsl:text>)</xsl:text>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <!-- cute trick to remove the xmlns attributes on copied nodes. -->
-  <xsl:template match="*">
-    <xsl:element name="{local-name()}">
-      <xsl:apply-templates />
-    </xsl:element>
-  </xsl:template>
-</xsl:stylesheet>
-
diff --git a/mcs/tools/mdoc/Resources/overview.xsl b/mcs/tools/mdoc/Resources/overview.xsl
deleted file mode 100644 (file)
index 394f0a2..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       Based on Mono's /monodoc/browser/mono-ecma.xsl file.
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:msxsl="urn:schemas-microsoft-com:xslt"
-       exclude-result-prefixes="msxsl"
-       >
-       
-       <xsl:output omit-xml-declaration="yes" />
-       
-       <xsl:include href="stylesheet.xsl"/>
-       
-       <xsl:param name="namespace" select="''"/>
-
-       <xsl:variable name="max-types">50</xsl:variable>
-
-       <xsl:template match="Overview">
-               <Page>
-
-                       <Title>
-                               <xsl:value-of select="Title"/>
-                               <xsl:if test="not($namespace='' or $namespace='all' or count(Types/Namespace)=1)">
-                                       <xsl:value-of select="': '"/>
-                                       <xsl:value-of select="$namespace"/>
-                               </xsl:if>
-                       </Title>
-
-                       <CollectionTitle>
-                               <xsl:if test="not($namespace='' or $namespace='all')">
-                                       <a href="../index.{$ext}"><xsl:value-of select="Title"/></a>
-                               </xsl:if>                       
-                       </CollectionTitle>
-                       
-                       <PageTitle>
-                               <xsl:choose>
-                               <xsl:when test="not($namespace='' or $namespace='all')">
-                                       <xsl:call-template name="GetNamespaceName">
-                                               <xsl:with-param name="ns" select="$namespace" />
-                                       </xsl:call-template>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="Title"/>
-                               </xsl:otherwise>
-                               </xsl:choose>
-                       </PageTitle>
-
-                       <!--
-                       <SideBar>
-                       <xsl:if test="not($namespace='')">
-                               <p style="font-weight: bold; border-bottom: thin solid black"><a href="../index.{$ext}"><xsl:value-of select="Assembly"/></a></p>
-                               <xsl:for-each select="Types/Namespace">
-                                       <xsl:sort select="@Name"/>
-                                       <div>
-                                               <a href="../{@Name}/index.{$ext}">
-                                                       <xsl:value-of select="@Name"/>
-                                               </a>
-                                       </div>
-                               </xsl:for-each>
-                       </xsl:if>
-                       <xsl:if test="$namespace=''">
-                                       <div class="AssemblyRemarks" style="margin-top: 1em; margin-bottom: 1em">
-                                               <xsl:apply-templates select="Remarks" mode="notoppara"/>
-                                       </div>
-                       </xsl:if>
-                       </SideBar>
-                       -->
-                       
-                       <Summary>
-                               <xsl:if test="$namespace=''">
-                                       <div class="AssemblyRemarks" style="margin-top: 1em; margin-bottom: 1em">
-                                               <xsl:apply-templates select="Remarks" mode="notoppara"/>
-                                       </div>
-                               </xsl:if>
-                       </Summary>
-                       
-                       <Signature>
-                       </Signature>
-                       
-                       <Remarks>                       
-                               <xsl:choose>
-                                       <xsl:when test="Types/Namespace[@Name=$namespace][count(Type)>0] and $namespace != ''">
-                                               <!-- show all types within namespace -->
-                                               <h2 class="Section"><xsl:call-template name="GetNamespaceName" /></h2>
-                                               <xsl:call-template name="CreateNamespaceDetails">
-                                                       <xsl:with-param name="ns" select="Types/Namespace[@Name=$namespace]" />
-                                               </xsl:call-template>
-                                       </xsl:when>
-                                       <xsl:when test="count(Types//Type) &lt; $max-types">
-                                               <!-- index; show all types -->
-                                               <xsl:for-each select="Types/Namespace">
-                                                       <xsl:sort select="@Name"/>
-                                                       <h2 class="Section"><xsl:call-template name="CreateNamespaceLink" /></h2>
-                                                       <xsl:call-template name="CreateNamespaceDetails">
-                                                               <xsl:with-param name="ns" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:for-each>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <!-- index; show only namespaces -->
-                                               <xsl:for-each select="Types/Namespace">
-                                                       <xsl:sort select="@Name"/>
-                                                       <h2 class="Section"><xsl:call-template name="CreateNamespaceLink" /></h2>
-                                                       <p><xsl:apply-templates select="document(concat('ns-',@Name,'.xml'), .)/Namespace/Docs/summary" mode="notoppara"/></p>
-                                               </xsl:for-each>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-
-                       </Remarks>
-                               
-                       <Members>
-                       </Members>
-                       
-                       <xsl:copy-of select="Copyright"/>
-                       
-               </Page>
-
-       </xsl:template>
-       <xsl:template name="CreateNamespaceDetails">
-               <xsl:param name="ns" />
-                                       <p><xsl:apply-templates select="document(concat('ns-',$ns/@Name,'.xml'), .)/Namespace/Docs/remarks" mode="notoppara"/></p>
-
-                                       <table class="TypesListing" style="margin-top: 1em">
-                       
-                                       <tr>
-                                               <th>Type</th>
-                                               <th>Description</th>
-                                       </tr>                           
-                                               
-                                       <xsl:for-each select="$ns/Type">
-                                               <xsl:sort select="@Name"/>
-                                               <tr valign="top">
-                                                       <td>
-                                                               <xsl:variable name="path">
-                                                                       <xsl:choose>
-                                                                       <xsl:when test="$namespace=parent::Namespace/@Name">.</xsl:when>
-                                                                       <xsl:otherwise><xsl:value-of select="parent::Namespace/@Name"/></xsl:otherwise>
-                                                                       </xsl:choose>
-                                                               </xsl:variable>
-                                                       
-                                                               <a href="{$path}/{@Name}.{$ext}">
-                                                                       <xsl:choose>
-                                                                               <xsl:when test="@DisplayName != ''">
-                                                                                       <xsl:value-of select="translate (@DisplayName, '+', '.')"/>
-                                                                               </xsl:when>
-                                                                               <xsl:otherwise>
-                                                                                       <xsl:value-of select="translate (@Name, '+', '.')"/>
-                                                                               </xsl:otherwise>
-                                                                       </xsl:choose>
-                                                               </a>
-                                                       </td>
-                                                       <td>
-                                                               <xsl:variable name="docdir">
-                                                                       <xsl:choose>
-                                                                               <xsl:when test="parent::Namespace/@Name = ''">.</xsl:when>
-                                                                               <xsl:otherwise>
-                                                                                       <xsl:value-of select="parent::Namespace/@Name" />
-                                                                               </xsl:otherwise>
-                                                                       </xsl:choose>
-                                                               </xsl:variable>
-                                                               <xsl:apply-templates select="document(concat($docdir, '/', @Name, '.xml'), .)/Type/Docs/summary" mode="notoppara"/>
-                                                       </td>
-                                               </tr>
-                                       </xsl:for-each>
-                                               
-                                       </table>
-       </xsl:template>
-
-       <xsl:template name="GetNamespaceName">
-               <xsl:param name="ns" select="@Name" />
-               <xsl:choose>
-                       <xsl:when test="$ns = ''">
-                               <xsl:text>Root</xsl:text>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$ns" />
-                       </xsl:otherwise>
-               </xsl:choose>
-               <xsl:text> Namespace</xsl:text>
-       </xsl:template>
-
-       <xsl:template name="CreateNamespaceLink">
-               <xsl:choose>
-                       <xsl:when test="@Name =''">
-                               <xsl:call-template name="GetNamespaceName" />
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <a href="{@Name}/index.{$ext}"><xsl:call-template name="GetNamespaceName" /></a>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-       
-</xsl:stylesheet>
-
diff --git a/mcs/tools/mdoc/Resources/stylesheet.xsl b/mcs/tools/mdoc/Resources/stylesheet.xsl
deleted file mode 100644 (file)
index 35d5a65..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-       Based on Mono's /monodoc/browser/mono-ecma.xsl file.
--->
-
-<xsl:stylesheet
-       version="1.0"
-       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-       xmlns:msxsl="urn:schemas-microsoft-com:xslt"
-       exclude-result-prefixes="msxsl"
-       >
-       <xsl:include href="mdoc-html-utils.xsl" />
-       <xsl:include href="mdoc-sections-css.xsl" />
-       
-       <!-- TEMPLATE PARAMETERS -->
-
-       <xsl:param name="ext" select="'xml'"/>
-       <xsl:param name="basepath" select="'./'"/>
-       
-       <xsl:param name="Index" />
-
-       <!-- The namespace that the current type belongs to. -->
-       <xsl:variable name="mono-docs">http://www.go-mono.com/docs/monodoc.ashx?link=</xsl:variable>
-
-       <!-- THE MAIN RENDERING TEMPLATE -->
-
-       <xsl:template match="Type">
-               <xsl:variable name="cref">
-                       <xsl:text>T:</xsl:text>
-                       <xsl:call-template name="GetEscapedTypeName">
-                               <xsl:with-param name="typename" select="@FullName" />
-                       </xsl:call-template>
-               </xsl:variable>
-
-               <Page>
-               
-               <Title>
-                       <xsl:value-of select="translate (@FullName, '+', '.')" />
-               </Title>
-               
-               <CollectionTitle>
-                       <xsl:variable name="namespace" select="substring-before (@FullName, @Name)" />
-                       <a>
-                               <xsl:attribute name="href">
-                                       <xsl:if test="string-length($namespace)">
-                                               <xsl:value-of select="$basepath" />
-                                       </xsl:if>
-                                       <xsl:text>index.</xsl:text>
-                                       <xsl:value-of select="$ext" />
-                               </xsl:attribute>
-                               <xsl:value-of select="AssemblyInfo/AssemblyName" />
-                       </a>
-                       <xsl:text> : </xsl:text>
-                       <a href="index.{$ext}"><xsl:value-of select="$TypeNamespace"/> Namespace</a>
-               </CollectionTitle>
-               
-               <PageTitle>
-                       <xsl:attribute name="id">
-                               <xsl:value-of select="$cref" />
-                       </xsl:attribute>
-                       <xsl:value-of select="translate (@Name, '+', '.')"/>
-                       <xsl:text xml:space="preserve"> </xsl:text>
-                       <xsl:if test="count(Docs/typeparam) &gt; 0">Generic</xsl:if>
-                       <xsl:text xml:space="preserve"> </xsl:text>
-                       <xsl:call-template name="GetTypeDescription" />
-               </PageTitle>
-               
-               <!--
-               <SideBar>
-                       <p style="font-weight: bold; border-bottom: thin solid black"><a href="index.{$ext}"><xsl:value-of select="$TypeNamespace"/></a></p>
-
-                       <xsl:for-each select="document('index.xml',.)/Overview/Types/Namespace[@Name=$TypeNamespace]/Type">
-                               <xsl:sort select="@Name"/>
-                               <div>
-                                       <a href="../{parent::Namespace/@Name}/{@Name}.{$ext}">
-                                               <xsl:value-of select="@Name"/>
-                                       </a>
-                               </div>
-                       </xsl:for-each>
-               </SideBar>
-               -->
-
-               <!-- TYPE OVERVIEW -->
-               
-               <Summary id="Summary">
-                       <xsl:attribute name="id">
-                               <xsl:value-of select="concat ($cref, ':Summary')" />
-                       </xsl:attribute>
-                       <!-- summary -->
-                       <xsl:apply-templates select="Docs/summary" mode="notoppara"/>
-               </Summary>
-
-               <Signature>
-                       <xsl:call-template name="CreateTypeSignature" />
-               </Signature>
-                       
-               <Remarks>
-                       <xsl:attribute name="id">
-                               <xsl:value-of select="concat ($cref, ':Docs')" />
-                       </xsl:attribute>
-                       <xsl:call-template name="DisplayDocsInformation">
-                               <xsl:with-param name="linkid" select="concat ($cref, ':Docs')" />
-                       </xsl:call-template>
-
-                       <!-- MEMBER LISTING -->
-                       <xsl:if test="not(Base/BaseTypeName='System.Delegate' or Base/BaseTypeName='System.MulticastDelegate' or Base/BaseTypeName='System.Enum')">
-                               <xsl:call-template name="CreateH2Section">
-                                       <xsl:with-param name="name" select="'Members'"/>
-                                       <xsl:with-param name="id" select="'Members'"/>
-                                       <xsl:with-param name="child-id" select="'_Members'"/>
-                                       <xsl:with-param name="content">
-                                               <xsl:if test="Base/BaseTypeName">
-                                                       <p>
-                                                               See Also: Inherited members from
-                                                               <xsl:apply-templates select="Base/BaseTypeName" mode="typelink"><xsl:with-param name="wrt" select="$TypeNamespace"/></xsl:apply-templates>.
-                                                       </p>
-                                               </xsl:if>
-
-                                               <!-- list each type of member (public, then protected) -->
-
-                                               <xsl:call-template name="ListAllMembers">
-                                                       <xsl:with-param name="html-anchor" select="true()" />
-                                               </xsl:call-template>
-                                       </xsl:with-param>
-                               </xsl:call-template>
-                       </xsl:if>
-                       
-               </Remarks>
-                       
-               <Members>
-               <!-- MEMBER DETAILS -->
-                       <xsl:attribute name="id">
-                               <xsl:value-of select="concat ($cref, ':Members')" />
-                       </xsl:attribute>
-                       <xsl:if test="not(Base/BaseTypeName='System.Delegate' or Base/BaseTypeName='System.MulticastDelegate' or Base/BaseTypeName='System.Enum')">
-                       <xsl:variable name="Type" select="."/>
-                       
-                       <xsl:call-template name="CreateH2Section">
-                               <xsl:with-param name="name" select="'Member Details'"/>
-                               <xsl:with-param name="id" select="'MemberDetails'"/>
-                               <xsl:with-param name="child-id" select="'_MemberDetails'"/>
-                               <xsl:with-param name="content">
-                                       <xsl:for-each select="Members/Member[MemberType != 'ExtensionMethod']">
-                                       
-                                               <xsl:variable name="linkid">
-                                                       <xsl:call-template name="GetLinkId">
-                                                               <xsl:with-param name="type" select="../.." />
-                                                               <xsl:with-param name="member" select="." />
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-
-                                               <xsl:call-template name="CreateH3Section">
-                                                       <xsl:with-param name="id" select="$linkid" />
-                                                       <xsl:with-param name="child-id" select="concat($linkid, ':member')" />
-                                                       <xsl:with-param name="class" select="MemberName" />
-                                                       <xsl:with-param name="name">
-                                                               <xsl:choose>
-                                                                       <xsl:when test="MemberType='Constructor'">
-                                                                               <xsl:call-template name="GetConstructorName">
-                                                                                       <xsl:with-param name="type" select="../.." />
-                                                                                       <xsl:with-param name="ctor" select="." />
-                                                                               </xsl:call-template>
-                                                                       </xsl:when>
-                                                                       <xsl:when test="@MemberName='op_Implicit' or @MemberName='op_Explicit'">
-                                                                               <xsl:text>Conversion</xsl:text>
-                                                                       </xsl:when>
-                                                                       <xsl:otherwise>
-                                                                               <xsl:value-of select="@MemberName"/>
-                                                                       </xsl:otherwise>
-                                                               </xsl:choose>
-                                                               <xsl:text xml:space="preserve"> </xsl:text>
-                                                               <xsl:if test="count(Docs/typeparam) &gt; 0">
-                                                                       <xsl:text>Generic </xsl:text>
-                                                               </xsl:if>
-                                                               <xsl:value-of select="MemberType" />
-                                                       </xsl:with-param>
-                                                       <xsl:with-param name="ref" select="." />
-                                                       <xsl:with-param name="content">
-                                                               <xsl:call-template name="CreateMemberOverview" />
-                                                               <xsl:call-template name="CreateMemberSignature">
-                                                                       <xsl:with-param name="linkid" select="$linkid" />
-                                                               </xsl:call-template>
-                                                               <xsl:call-template name="DisplayDocsInformation">
-                                                                       <xsl:with-param name="linkid" select="$linkid" />
-                                                               </xsl:call-template>
-                                                               <hr size="1"/>
-                                                       </xsl:with-param>
-                                               </xsl:call-template>
-                                       </xsl:for-each>
-                               </xsl:with-param>
-                       </xsl:call-template>
-                       </xsl:if>
-                       
-                       </Members>
-                       
-                       <Copyright>
-                       </Copyright>
-                       
-               </Page>
-       </xsl:template>
-
-       <xsl:template name="GetLinkTarget">
-               <xsl:param name="type" />
-               <xsl:param name="cref" />
-               <xsl:param name="xmltarget" select="false()"/>
-               <!-- Search for type in the index.xml file. -->
-               <xsl:variable name="typeentry-rtf">
-                       <xsl:call-template name="FindTypeInIndex">
-                               <xsl:with-param name="type" select="$type" />
-                       </xsl:call-template>
-               </xsl:variable>
-               <xsl:variable name="typeentry" select="msxsl:node-set($typeentry-rtf)" />
-
-               <xsl:choose>
-                       <xsl:when test="$xmltarget and count($typeentry/Type)">
-                               <xsl:value-of select="concat($typeentry/Type/@Namespace, '/', $typeentry/Type/@Name, '.xml')" />
-                       </xsl:when>
-                       <xsl:when test="$xmltarget" />
-                       <xsl:when test="starts-with ($cref, 'N:')">
-                               <xsl:variable name="namespace">
-                                       <xsl:call-template name="FindNamespaceInIndex">
-                                               <xsl:with-param name="namespace" select="substring-after ($cref, 'N:')" />
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               <xsl:if test="string($namespace) != ''">
-                                       <xsl:if test="$TypeNamespace != ''">
-                                               <xsl:value-of select="$basepath" />
-                                       </xsl:if>
-                                       <xsl:value-of select="concat ($namespace, '/index.', $ext)" />
-                               </xsl:if>
-                       </xsl:when>
-                       <xsl:when test="count($typeentry/Type)">
-                               <xsl:if test="string-length ($typeentry/Type/@Namespace)">
-                                       <xsl:value-of select="$basepath" />
-                                       <xsl:value-of select="$typeentry/Type/@Namespace" />
-                                       <xsl:text>/</xsl:text>
-                               </xsl:if>
-                               <xsl:value-of select="$typeentry/Type/@Name"/>
-                               <xsl:text>.</xsl:text>
-                               <xsl:value-of select="$ext" />
-                               <xsl:if test="string-length ($cref) > 0 and substring ($cref, 1, 2) != 'T:'">
-                                       <xsl:text>#</xsl:text>
-                                       <xsl:call-template name="GetActualCref">
-                                               <xsl:with-param name="cref" select="$cref" />
-                                       </xsl:call-template>
-                               </xsl:if>
-                       </xsl:when>
-
-                       <xsl:when test="starts-with($type, 'System.') or 
-                               starts-with($type, 'Cairo.') or starts-with ($type, 'Commons.Xml.') or
-                               starts-with($type, 'Mono.GetOptions.') or starts-with($type,'Mono.Math.') or
-                               starts-with($type, 'Mono.Posix.') or starts-with($type, 'Mono.Remoting.') or
-                               starts-with($type, 'Mono.Security.') or starts-with($type, 'Mono.Unix.') or
-                               starts-with($type, 'Mono.Xml.')">
-                               <xsl:value-of select="$mono-docs" />
-                               <xsl:value-of select="$cref" />
-                       </xsl:when>
-                       <!--<xsl:otherwise>javascript:alert("Documentation not found for <xsl:value-of select="$type"/>.")</xsl:otherwise>-->
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="FindTypeInIndex">
-               <xsl:param name="type" />
-
-               <xsl:for-each select="$Index//Type">
-                       <xsl:variable name="nsp">
-                               <xsl:choose>
-                                       <xsl:when test="string-length (parent::Namespace/@Name) = 0" />
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="parent::Namespace/@Name" />
-                                               <xsl:text>.</xsl:text>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       <xsl:if test="concat($nsp, translate(@Name, '+', '.')) = $type">
-                               <Type Name="{@Name}" Namespace="{parent::Namespace/@Name}" />
-                       </xsl:if>
-               </xsl:for-each>
-       </xsl:template>
-
-       <xsl:template name="FindNamespaceInIndex">
-               <xsl:param name="namespace" />
-
-               <xsl:for-each select="$Index//Namespace">
-                       <xsl:if test="@Name = $namespace">
-                               <xsl:value-of select="@Name" />
-                       </xsl:if>
-               </xsl:for-each>
-       </xsl:template>
-
-       <xsl:template name="GetActualCref">
-               <xsl:param name="cref" />
-
-               <xsl:variable name="fullname">
-                       <xsl:choose>
-                               <xsl:when test="starts-with($cref, 'C:') or starts-with($cref, 'T:')">
-                                       <xsl:choose>
-                                               <xsl:when test="contains($cref, '(')">
-                                                       <xsl:value-of select="substring (substring-before ($cref, '('), 3)" />
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <xsl:value-of select="substring($cref, 3)" />
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:call-template name="GetTypeName">
-                                               <xsl:with-param name="type" select="substring($cref, 3)"/>
-                                       </xsl:call-template>
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-
-               <xsl:variable name="escaped-type">
-                       <xsl:call-template name="GetEscapedTypeName">
-                               <xsl:with-param name="typename">
-                                       <xsl:call-template name="ToBrackets">
-                                               <xsl:with-param name="s" select="$fullname" />
-                                       </xsl:call-template>
-                               </xsl:with-param>
-                       </xsl:call-template>
-               </xsl:variable>
-
-               <xsl:value-of select="substring ($cref, 1, 2)" />
-               <xsl:value-of select="$escaped-type" />
-               <xsl:value-of select="substring-after ($cref, $fullname)" />
-       </xsl:template>
-       
-       <xsl:template name="CreateCodeBlock">
-               <xsl:param name="language" />
-               <xsl:param name="content" />
-               <table class="CodeExampleTable">
-               <tr><td><b><font size="-1"><xsl:value-of select="$language"/> Example</font></b></td></tr>
-               <tr><td>
-                       <pre>
-                               <xsl:attribute name="class">
-                                       <xsl:call-template name="GetCodeClass">
-                                               <xsl:with-param name="lang" select="$language" />
-                                       </xsl:call-template>
-                               </xsl:attribute>
-                               <xsl:value-of select="$content" />
-                       </pre>
-               </td></tr>
-               </table>
-       </xsl:template>
-
-       <xsl:template name="CreateEditLink">
-               <!-- ignore -->
-       </xsl:template>
-
-       <xsl:template name="CreateExpandedToggle">
-               <xsl:text>⊟</xsl:text>
-       </xsl:template>
-
-       <xsl:template name="GetCodeClass">
-               <xsl:param name="lang" />
-
-               <xsl:choose>
-                       <xsl:when test="$lang = 'C#' or $lang = 'csharp'">
-                               <xsl:text>code-csharp</xsl:text>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:template>
-
-</xsl:stylesheet>
index 3a3de6086e6b3986fc17823a9018aac6064fda7c..c149b73584f7462134143ecaed86dc64f04b6e95 100644 (file)
@@ -1,2 +1,2 @@
-mdoc: The element 'Docs' has invalid child element 'extra'. List of possible elements expected: 'summary, param, exception, returns, remarks, example, value, permission, PermissionSet, altmember, altcompliant, since, threadsafe, typeparam, filterpriority, related'.
+mdoc: The element 'Docs' has invalid child element 'extra'. List of possible elements expected: 'summary, param, exception, returns, remarks, example, value, permission, PermissionSet, altmember, altcompliant, since, threadsafe, typeparam, filterpriority, related, forInternalUseOnly'.
 Total validation errors: 1
diff --git a/mcs/tools/mdoc/cecil.mixin.cs b/mcs/tools/mdoc/cecil.mixin.cs
new file mode 100644 (file)
index 0000000..3273072
--- /dev/null
@@ -0,0 +1,10 @@
+namespace Mono.Cecil
+{
+       static partial class Mixin {
+
+               public static bool IsTypeSpecification (this TypeReference type)
+               {
+                       return type is GenericParameter || type is TypeSpecification;
+               }
+       }
+}
\ No newline at end of file
index 944e0bcc710691969c20e4d127aab9e1ca9bc04b..539b119821e874a94446b4d9e0bce7a9276b2580 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
   </PropertyGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <ItemGroup>\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\assembler.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\dump.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\ecmadoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\exceptions.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\Frameworks\AssemblySet.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\Frameworks\FrameworkEntry.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\Frameworks\FrameworkIndex.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\Frameworks\FrameworkTypeEntry.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\frameworksbootstrapper.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\index.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\mdoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\MdocFile.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\monodocer.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\monodocs2html.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\monodocs2slashdoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\msitomsx.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\normalize.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\validate.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\webdoc.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Documentation\XhtmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Rocks\ObjectRocks.cs" />\r
+    <Compile Include="..\..\..\external\api-doc-tools\mdoc\Mono.Rocks\StreamRocks.cs" />\r
+    <Compile Include="..\..\..\external\cecil\rocks\Mono.Cecil.Rocks\DocCommentId.cs" />\r
     <Compile Include="..\..\build\common\Consts.cs" />\r
     <Compile Include="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
-    <Compile Include="Mono.Documentation\assembler.cs" />\r
-    <Compile Include="Mono.Documentation\dump.cs" />\r
-    <Compile Include="Mono.Documentation\ecmadoc.cs" />\r
-    <Compile Include="Mono.Documentation\exceptions.cs" />\r
-    <Compile Include="Mono.Documentation\index.cs" />\r
-    <Compile Include="Mono.Documentation\mdoc.cs" />\r
-    <Compile Include="Mono.Documentation\MdocFile.cs" />\r
-    <Compile Include="Mono.Documentation\monodocer.cs" />\r
-    <Compile Include="Mono.Documentation\monodocs2html.cs" />\r
-    <Compile Include="Mono.Documentation\monodocs2slashdoc.cs" />\r
-    <Compile Include="Mono.Documentation\msitomsx.cs" />\r
-    <Compile Include="Mono.Documentation\normalize.cs" />\r
-    <Compile Include="Mono.Documentation\preserver.cs" />\r
-    <Compile Include="Mono.Documentation\validate.cs" />\r
-    <Compile Include="Mono.Documentation\webdoc.cs" />\r
-    <Compile Include="Mono.Documentation\XhtmlWriter.cs" />\r
-    <Compile Include="Mono.Rocks\ObjectRocks.cs" />\r
-    <Compile Include="Mono.Rocks\StreamRocks.cs" />\r  </ItemGroup>\r
+    <Compile Include="cecil.mixin.cs" />\r  </ItemGroup>\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="../../class/monodoc/Resources/mdoc-html-format.xsl">\r
-      <LogicalName>mdoc-html-format.xsl</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../../class/monodoc/Resources/mdoc-html-utils.xsl">\r
-      <LogicalName>mdoc-html-utils.xsl</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../../class/monodoc/Resources/mdoc-sections-css.xsl">\r
-      <LogicalName>mdoc-sections-css.xsl</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="../../class/monodoc/Resources/mono-ecma-css.xsl">\r
-      <LogicalName>mono-ecma-css.xsl</LogicalName>\r
-    </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/defaulttemplate.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/mdoc/Resources/defaulttemplate.xsl">\r
       <LogicalName>defaulttemplate.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/monodoc-ecma.xsd">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/mdoc/Resources/monodoc-ecma.xsd">\r
       <LogicalName>monodoc-ecma.xsd</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/msitomsx.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/mdoc/Resources/msitomsx.xsl">\r
       <LogicalName>msitomsx.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/overview.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/mdoc/Resources/overview.xsl">\r
       <LogicalName>overview.xsl</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="Resources/stylesheet.xsl">\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/mdoc/Resources/stylesheet.xsl">\r
       <LogicalName>stylesheet.xsl</LogicalName>\r
     </EmbeddedResource>\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-html-format.xsl">\r
+      <LogicalName>mdoc-html-format.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-html-utils.xsl">\r
+      <LogicalName>mdoc-html-utils.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mdoc-sections-css.xsl">\r
+      <LogicalName>mdoc-sections-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../../external/api-doc-tools/monodoc/Resources/mono-ecma-css.xsl">\r
+      <LogicalName>mono-ecma-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
   </ItemGroup>\r
 </Project>\r
 
index 571991475a1543ea49abc632e7c4bf681194fe10..adcd5d624dae643a285a493f34dfd73628c05628 100644 (file)
@@ -1,20 +1,30 @@
 ../../build/common/Consts.cs
 ../../class/Mono.Options/Mono.Options/Options.cs
-Mono.Documentation/assembler.cs
-Mono.Documentation/dump.cs
-Mono.Documentation/ecmadoc.cs
-Mono.Documentation/exceptions.cs
-Mono.Documentation/index.cs
-Mono.Documentation/mdoc.cs
-Mono.Documentation/MdocFile.cs
-Mono.Documentation/monodocer.cs
-Mono.Documentation/monodocs2html.cs
-Mono.Documentation/monodocs2slashdoc.cs
-Mono.Documentation/msitomsx.cs
-Mono.Documentation/normalize.cs
-Mono.Documentation/validate.cs
-Mono.Documentation/webdoc.cs
-Mono.Documentation/XhtmlWriter.cs
-Mono.Documentation/preserver.cs
-Mono.Rocks/ObjectRocks.cs
-Mono.Rocks/StreamRocks.cs
+
+../../../external/cecil/rocks/Mono.Cecil.Rocks/DocCommentId.cs
+
+../../../external/api-doc-tools/mdoc/Mono.Documentation/assembler.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/dump.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/ecmadoc.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/exceptions.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/index.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/frameworksbootstrapper.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/mdoc.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/MdocFile.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/monodocer.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/monodocs2html.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/monodocs2slashdoc.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/msitomsx.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/normalize.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/validate.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/webdoc.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/XhtmlWriter.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/Frameworks/AssemblySet.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/Frameworks/FrameworkEntry.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/Frameworks/FrameworkIndex.cs
+../../../external/api-doc-tools/mdoc/Mono.Documentation/Frameworks/FrameworkTypeEntry.cs
+
+../../../external/api-doc-tools/mdoc/Mono.Rocks/ObjectRocks.cs
+../../../external/api-doc-tools/mdoc/Mono.Rocks/StreamRocks.cs
+
+cecil.mixin.cs
\ No newline at end of file
index 674729753782358d98e49d52a5a27d4fffa1384e..80433bbaf6ee45b17c9bc45fef3ab931aaf58864 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c97177b9defb4352d1c01b21d05f52c111bd9462..6cfe10808f80198454794ad2e72f880fa82d1a40 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 0f0b92693ba7a3907891d911328a75b23b6cc45d..7aa34e8faff3e0838ed65dd8d41dd67bb198f438 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 11a3bab7f41bf1372bd8772169d6d8f2d4b7a9ae..4900dfc2c40e982b5c603b05e4bc06c0e8a1c01a 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 98555d0c674564446d1db538243ca34914d72bcc..9694cfdeabf200472a3feb4a105a99533353e311 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index baca85de2af7e61ed2db4125a7f1f4801eedc7e3..0e49107295b33c7fc07e8a6036220a5e69dbebaf 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 3b81f555618ef0e8a0016ccc79b5050c4b5e00f9..d2e41439c10b6e6b4c154c4d2b309ff56037f342 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 2e17b66e81691b4c90b1ff077eca57c22f188fea..7be7adfdb06176c41ab91d49d233cd6c972d4285 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>649,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NO_AUTHENTICODE;CECIL;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NO_AUTHENTICODE;CECIL;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>649,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NO_AUTHENTICODE;CECIL;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NO_AUTHENTICODE;CECIL;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 17add133e40c25d4c24eaaa1ce0c24521a4e309c..f5b18f9a3eaa19c9c66e704c8d9bf92b2edcd435 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 86a2121d394f2ef28d200dc5a1790a58eeb16db3..c7f898a1b2dcf92cfa20ec8498688a1f6813d439 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1368dcfdfb8ad40eb0102cc9ee0537e674118c3b..f1252b5cedbfd9e51db2e01f78bdc4819da492bf 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NO_AUTHENTICODE;STATIC;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NO_AUTHENTICODE;STATIC;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NO_AUTHENTICODE;STATIC;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NO_AUTHENTICODE;STATIC;NO_SYMBOL_WRITER;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index a65042f2329b1f23f3091216595c011d2c47bfeb..bf0cd3c81618cb5ab7c4db578d90e93d20d2f5dc 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 4ffaddf33b9d698cb1807a35d016f1fa66c98d4f..40067ab53c4032b4fa3e8386d83bd318909fd883 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index ad6adbc9ca3f37164c7857bb006f7563611035b7..5231cecebc780ccdc81dc2394ca8542a443d5829 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 9eaf6d4a7404fbd2acd634058b022799f5e9d389..7708bdbba000d357a14beb28d7f2c1c43165392b 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 1f31cca4147c9f00268be3a828c9f1eaef1a014d..70a51ff7a463bd6d63b92009dfcda69c3962d250 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 63ad5a3c22acf5e5b400feaa558d31d3f30e1eeb..81f55069f3de483891e689480248a3bf43684245 100644 (file)
@@ -34,7 +34,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;MONO_STRICT;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;MONO_STRICT;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -42,7 +42,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>MONO_STRICT;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>MONO_STRICT;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 43a8a65e6403abe27bff6b40701e38ec0d7fff61..e9bb62819227af7e7ab7698629c25c51e3c4d501 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 8db3b78861f50013c254c1b88688675e1528c31b..fe457fc59a75de4f3abef5fb53c695c453d09c14 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 824d2aa47f12b1980cd6fe9387ee42a70300497d..db100eec5e7ac994ecf3cc179da93c1193d036ca 100644 (file)
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -37,7 +37,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM</DefineConstants>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index c8cc8222782d14af67155969a972ff001aa8e678..0d57ff8b745aed6f8a0b6ff50e96aea505bf19b4 100644 (file)
@@ -1840,8 +1840,10 @@ mono_make_shadow_copy (const char *filename, MonoError *oerror)
        sibling_source_len = strlen (sibling_source);
        sibling_target = g_strconcat (shadow, ".config", NULL);
        sibling_target_len = strlen (sibling_target);
-       
+
        copy_result = shadow_copy_sibling (sibling_source, sibling_source_len, ".mdb", sibling_target, sibling_target_len, 7);
+       if (copy_result)
+               copy_result = shadow_copy_sibling (sibling_source, sibling_source_len, ".pdb", sibling_target, sibling_target_len, 11);
        if (copy_result)
                copy_result = shadow_copy_sibling (sibling_source, sibling_source_len, ".config", sibling_target, sibling_target_len, 7);
        
index 8adf077e6b1956fca0f4f3accd195b8b72394126..f9ea588a30e2b7636e6ce48cdb5355bf1a21e692 100644 (file)
@@ -1329,11 +1329,16 @@ mono_gc_is_disabled (void)
 }
 
 void
-mono_gc_wbarrier_value_copy_bitmap (gpointer _dest, gpointer _src, int size, unsigned bitmap)
+mono_gc_wbarrier_range_copy (gpointer _dest, gpointer _src, int size)
 {
        g_assert_not_reached ();
 }
 
+void*
+mono_gc_get_range_copy_func (void)
+{
+       return &mono_gc_wbarrier_range_copy;
+}
 
 guint8*
 mono_gc_get_card_table (int *shift_bits, gpointer *card_mask)
index 327a1c1cfe79bbf76ed0e5f8507a13bf0200c122..ef1bd78da1c006140f6628102bd753954f94cb57 100644 (file)
@@ -382,3 +382,10 @@ mono_class_set_is_com_object (MonoClass *klass)
        mono_loader_unlock ();
 #endif
 }
+
+MonoType*
+mono_class_gtd_get_canonical_inst (MonoClass *klass)
+{
+       g_assert (mono_class_is_gtd (klass));
+       return &((MonoClassGtd*)klass)->canonical_inst;
+}
index 7d85d8ce84f9010140021b975b495d572b119b81..39061bd142a1ec1e5411aaee98f7848babe99d1b 100644 (file)
@@ -390,6 +390,9 @@ typedef struct {
 typedef struct {
        MonoClassDef class;
        MonoGenericContainer *generic_container;
+       /* The canonical GENERICINST where we instantiate a generic type definition with its own generic parameters.*/
+       /* Suppose we have class T`2<A,B> {...}.  canonical_inst is the GTD T`2 applied to A and B. */
+       MonoType canonical_inst;
 } MonoClassGtd;
 
 typedef struct {
@@ -1444,6 +1447,9 @@ mono_class_try_get_generic_container (MonoClass *klass);
 void
 mono_class_set_generic_container (MonoClass *klass, MonoGenericContainer *container);
 
+MonoType*
+mono_class_gtd_get_canonical_inst (MonoClass *klass);
+
 guint32
 mono_class_get_first_method_idx (MonoClass *klass);
 
index cd15ef8ea77dda8f112f841eab872d4b241e10f5..ac7ea15d7b0e53ac90bb2f8544196d868ec12757 100644 (file)
@@ -5574,6 +5574,9 @@ mono_class_create_from_typedef (MonoImage *image, guint32 type_token, MonoError
                generic_container->is_anonymous = FALSE; // Owner class is now known, container is no longer anonymous
                context = &generic_container->context;
                mono_class_set_generic_container (klass, generic_container);
+               MonoType *canonical_inst = &((MonoClassGtd*)klass)->canonical_inst;
+               canonical_inst->type = MONO_TYPE_GENERICINST;
+               canonical_inst->data.generic_class = mono_metadata_lookup_generic_class (klass, context->class_inst, FALSE);
                enable_gclass_recording ();
        }
 
index 6b3369fd2e4f42cae3920b040600dd7fff380fee..bdab742092f8c75340cf6bbaf3054bcbe9582356 100644 (file)
@@ -184,12 +184,22 @@ typedef struct {
        int thunks_size;
 } MonoThunkJitInfo;
 
+typedef struct {
+       guint8 *unw_info;
+       int unw_info_len;
+} MonoUnwindJitInfo;
+
 typedef enum {
        JIT_INFO_NONE = 0,
        JIT_INFO_HAS_GENERIC_JIT_INFO = (1 << 0),
        JIT_INFO_HAS_TRY_BLOCK_HOLES = (1 << 1),
        JIT_INFO_HAS_ARCH_EH_INFO = (1 << 2),
-       JIT_INFO_HAS_THUNK_INFO = (1 << 3)
+       JIT_INFO_HAS_THUNK_INFO = (1 << 3),
+       /*
+        * If this is set, the unwind info is stored in the structure, instead of being pointed to by the
+        * 'unwind_info' field.
+        */
+       JIT_INFO_HAS_UNWIND_INFO = (1 << 4)
 } MonoJitInfoFlags;
 
 struct _MonoJitInfo {
@@ -217,6 +227,7 @@ struct _MonoJitInfo {
        gboolean    has_try_block_holes:1;
        gboolean    has_arch_eh_info:1;
        gboolean    has_thunk_info:1;
+       gboolean    has_unwind_info:1;
        gboolean    from_aot:1;
        gboolean    from_llvm:1;
        gboolean    dbg_attrs_inited:1;
@@ -326,11 +337,6 @@ struct _MonoDomain {
        /* hashtables for Reflection handles */
        MonoGHashTable     *type_hash;
        MonoGHashTable     *refobject_hash;
-       /*
-        * A GC-tracked array to keep references to the static fields of types.
-        * See note [Domain Static Data Array].
-        */
-       gpointer           *static_data_array;
        /* maps class -> type initialization exception object */
        MonoGHashTable    *type_init_exception_hash;
        /* maps delegate trampoline addr -> delegate object */
@@ -536,6 +542,9 @@ mono_jit_info_get_arch_eh_info (MonoJitInfo *ji);
 MonoThunkJitInfo*
 mono_jit_info_get_thunk_info (MonoJitInfo *ji);
 
+MonoUnwindJitInfo*
+mono_jit_info_get_unwind_info (MonoJitInfo *ji);
+
 /* 
  * Installs a new function which is used to return a MonoJitInfo for a method inside
  * an AOT module.
@@ -565,9 +574,6 @@ MonoImage *mono_assembly_open_from_bundle (const char *filename,
                                           MonoImageOpenStatus *status,
                                           gboolean refonly);
 
-MONO_API void
-mono_domain_add_class_static_data (MonoDomain *domain, MonoClass *klass, gpointer data, guint32 *bitmap);
-
 MonoAssembly *
 mono_try_assembly_resolve (MonoDomain *domain, const char *fname, MonoAssembly *requesting, gboolean refonly, MonoError *error);
 
index fb2f414570f1c2ef90362d120f9fd6603f84bd89..2e6a52170078f5487e79fb00c2df5e32508b741b 100644 (file)
@@ -409,7 +409,6 @@ mono_domain_create (void)
        domain->assembly_bindings_parsed = FALSE;
        domain->class_vtable_array = g_ptr_array_new ();
        domain->proxy_vtable_hash = g_hash_table_new ((GHashFunc)mono_ptrarray_hash, (GCompareFunc)mono_ptrarray_equal);
-       domain->static_data_array = NULL;
        mono_jit_code_hash_init (&domain->jit_code_hash);
        domain->ldstr_table = mono_g_hash_table_new_type ((GHashFunc)mono_string_hash, (GCompareFunc)mono_string_equal, MONO_HASH_KEY_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "domain string constants table");
        domain->num_jit_info_tables = 1;
@@ -1150,10 +1149,6 @@ mono_domain_free (MonoDomain *domain, gboolean force)
        domain->class_vtable_array = NULL;
        g_hash_table_destroy (domain->proxy_vtable_hash);
        domain->proxy_vtable_hash = NULL;
-       if (domain->static_data_array) {
-               mono_gc_free_fixed (domain->static_data_array);
-               domain->static_data_array = NULL;
-       }
        mono_internal_hash_table_destroy (&domain->jit_code_hash);
 
        /*
@@ -1453,40 +1448,6 @@ mono_context_get_domain_id (MonoAppContext *context)
        return context->domain_id;
 }
 
-/* LOCKING: the caller holds the lock for this domain */
-void
-mono_domain_add_class_static_data (MonoDomain *domain, MonoClass *klass, gpointer data, guint32 *bitmap)
-{
-       /* Note [Domain Static Data Array]:
-        *
-        * Entry 0 in the array is the index of the next free slot.
-        * Entry 1 is the total size of the array.
-        */
-       int next;
-       if (domain->static_data_array) {
-               int size = GPOINTER_TO_INT (domain->static_data_array [1]);
-               next = GPOINTER_TO_INT (domain->static_data_array [0]);
-               if (next >= size) {
-                       /* 'data' is allocated by alloc_fixed */
-                       gpointer *new_array = (gpointer *)mono_gc_alloc_fixed (sizeof (gpointer) * (size * 2), MONO_GC_ROOT_DESCR_FOR_FIXED (size * 2), MONO_ROOT_SOURCE_DOMAIN, "static field list");
-                       mono_gc_memmove_aligned (new_array, domain->static_data_array, sizeof (gpointer) * size);
-                       size *= 2;
-                       new_array [1] = GINT_TO_POINTER (size);
-                       mono_gc_free_fixed (domain->static_data_array);
-                       domain->static_data_array = new_array;
-               }
-       } else {
-               int size = 32;
-               gpointer *new_array = (gpointer *)mono_gc_alloc_fixed (sizeof (gpointer) * size, MONO_GC_ROOT_DESCR_FOR_FIXED (size), MONO_ROOT_SOURCE_DOMAIN, "static field list");
-               next = 2;
-               new_array [0] = GINT_TO_POINTER (next);
-               new_array [1] = GINT_TO_POINTER (size);
-               domain->static_data_array = new_array;
-       }
-       domain->static_data_array [next++] = data;
-       domain->static_data_array [0] = GINT_TO_POINTER (next);
-}
-
 /**
  * mono_get_corlib:
  * Use this function to get the \c MonoImage* for the \c mscorlib.dll assembly
index 65488d77923aa78246fbd577e2a9019a4e70b06d..c6cffb2881b69d78cb4c806b361b1300af28bb94 100644 (file)
@@ -193,7 +193,10 @@ MonoMethod* mono_gc_get_specific_write_barrier (gboolean is_concurrent);
 MonoMethod* mono_gc_get_write_barrier (void);
 
 /* Fast valuetype copy */
-void mono_gc_wbarrier_value_copy_bitmap (gpointer dest, gpointer src, int size, unsigned bitmap);
+/* WARNING: [dest, dest + size] must be within the bounds of a single type, otherwise the GC will lose remset entries */
+void mono_gc_wbarrier_range_copy (gpointer dest, gpointer src, int size);
+void* mono_gc_get_range_copy_func (void);
+
 
 /* helper for the managed alloc support */
 MonoString *
index 46063fc395f6958d685e308fb80e6e7dcd62f649..d332affbdc66640fac7613d2df802c77cac67150 100644 (file)
@@ -1123,6 +1123,7 @@ typedef enum {
        SYS_TEXT_ENC_CODEPAGES = 4, //System.Text.Encoding.CodePages
        SYS_REF_DISP_PROXY = 5, //System.Reflection.DispatchProxy
        SYS_VALUE_TUPLE = 6, //System.ValueTuple
+       SYS_THREADING_OVERLAPPED = 7, //System.Threading.Overlapped
 } IgnoredAssemblyNames;
 
 typedef struct {
@@ -1143,6 +1144,7 @@ const char *ignored_assemblies_file_names[] = {
        "System.Net.Http.dll",
        "System.Text.Encoding.CodePages.dll",
        "System.Reflection.DispatchProxy.dll",
+       "System.Threading.Overlapped.dll",
        "System.ValueTuple.dll"
 };
 
@@ -1157,6 +1159,7 @@ static const IgnoredAssembly ignored_assemblies [] = {
        IGNORED_ASSEMBLY (0x27726A90, SYS_NET_HTTP, "269B562C-CC15-4736-B1B1-68D4A43CAA98", "4.1.0 net46"),
        IGNORED_ASSEMBLY (0x10CADA75, SYS_NET_HTTP, "EA2EC6DC-51DD-479C-BFC2-E713FB9E7E47", "4.1.1 net46"),
        IGNORED_ASSEMBLY (0x8437178B, SYS_NET_HTTP, "C0E04D9C-70CF-48A6-A179-FBFD8CE69FD0", "4.3.0 net46"),
+       IGNORED_ASSEMBLY (0xFAFDA422, SYS_NET_HTTP, "817F01C3-4011-477D-890A-98232B85553D", "4.3.1 net46"),
        IGNORED_ASSEMBLY (0x4A15555E, SYS_REF_DISP_PROXY, "E40AFEB4-CABE-4124-8412-B46AB79C92FD", "4.0.0 net46"),
        IGNORED_ASSEMBLY (0xD20D9783, SYS_REF_DISP_PROXY, "2A69F0AD-B86B-40F2-8E4C-5B671E47479F", "4.0.1 netstandard1.3"),
        IGNORED_ASSEMBLY (0xA33A7E68, SYS_REF_DISP_PROXY, "D4E8D2DB-BD65-4168-99EA-D2C1BDEBF9CC", "4.3.0 netstandard1.3"),
@@ -1164,6 +1167,9 @@ static const IgnoredAssembly ignored_assemblies [] = {
        IGNORED_ASSEMBLY (0xD07383BB, SYS_RT_INTEROP_RUNTIME_INFO, "DD91439F-3167-478E-BD2C-BF9C036A1395", "4.3.0 net45"),
        IGNORED_ASSEMBLY (0x911D9EC3, SYS_TEXT_ENC_CODEPAGES, "C142254F-DEB5-46A7-AE43-6F10320D1D1F", "4.0.1 net46"),
        IGNORED_ASSEMBLY (0xFA686A38, SYS_TEXT_ENC_CODEPAGES, "FD178CD4-EF4F-44D5-9C3F-812B1E25126B", "4.3.0 net46"),
+       IGNORED_ASSEMBLY (0xAA21986B, SYS_THREADING_OVERLAPPED, "9F5D4F09-787A-458A-BA08-553AA71470F1", "4.0.0 net46"),
+       IGNORED_ASSEMBLY (0x7D927C2A, SYS_THREADING_OVERLAPPED, "FCBD003B-2BB4-4940-BAEF-63AF520C2336", "4.0.1 net46"),
+       IGNORED_ASSEMBLY (0x6FE03EE2, SYS_THREADING_OVERLAPPED, "87697E71-D192-4F0B-BAD4-02BBC7793005", "4.3.0 net46"),
        IGNORED_ASSEMBLY (0x75B4B041, SYS_VALUE_TUPLE, "F81A4140-A898-4E2B-B6E9-55CE78C273EC", "4.3.0 netstandard1.0"),
 };
 
@@ -1175,6 +1181,7 @@ const char *ignored_assemblies_names[] = {
        "System.Net.Http",
        "System.Text.Encoding.CodePages",
        "System.Reflection.DispatchProxy",
+       "System.Threading.Overlapped",
        "System.ValueTuple"
 };
 
@@ -1196,6 +1203,9 @@ static const IgnoredAssemblyVersion ignored_assembly_versions [] = {
        IGNORED_ASM_VER (SYS_RT_INTEROP_RUNTIME_INFO, 4, 0, 1, 0),
        IGNORED_ASM_VER (SYS_TEXT_ENC_CODEPAGES, 4, 0, 1, 0),
        IGNORED_ASM_VER (SYS_TEXT_ENC_CODEPAGES, 4, 0, 2, 0),
+       IGNORED_ASM_VER (SYS_THREADING_OVERLAPPED, 4, 0, 0, 0),
+       IGNORED_ASM_VER (SYS_THREADING_OVERLAPPED, 4, 0, 1, 0),
+       IGNORED_ASM_VER (SYS_THREADING_OVERLAPPED, 4, 0, 2, 0),
        IGNORED_ASM_VER (SYS_VALUE_TUPLE, 4, 0, 1, 0),
 };
 
index 50ca4e7e31daf8e432c9e05972421ab9a01ddf97..cf9992615e836ad1ce9f8c074b9dfef1f59d5d7f 100644 (file)
@@ -801,6 +801,8 @@ mono_jit_info_size (MonoJitInfoFlags flags, int num_clauses, int num_holes)
                size += sizeof (MonoArchEHJitInfo);
        if (flags & JIT_INFO_HAS_THUNK_INFO)
                size += sizeof (MonoThunkJitInfo);
+       if (flags & JIT_INFO_HAS_UNWIND_INFO)
+               size += sizeof (MonoUnwindJitInfo);
        return size;
 }
 
@@ -820,6 +822,8 @@ mono_jit_info_init (MonoJitInfo *ji, MonoMethod *method, guint8 *code, int code_
                ji->has_arch_eh_info = 1;
        if (flags & JIT_INFO_HAS_THUNK_INFO)
                ji->has_thunk_info = 1;
+       if (flags & JIT_INFO_HAS_UNWIND_INFO)
+               ji->has_unwind_info = 1;
 }
 
 /**
@@ -996,3 +1000,22 @@ mono_jit_info_get_thunk_info (MonoJitInfo *ji)
                return NULL;
        }
 }
+
+MonoUnwindJitInfo*
+mono_jit_info_get_unwind_info (MonoJitInfo *ji)
+{
+       if (ji->has_unwind_info) {
+               char *ptr = (char*)&ji->clauses [ji->num_clauses];
+               if (ji->has_generic_jit_info)
+                       ptr += sizeof (MonoGenericJitInfo);
+               if (ji->has_try_block_holes)
+                       ptr += try_block_hole_table_size (ji);
+               if (ji->has_arch_eh_info)
+                       ptr += sizeof (MonoArchEHJitInfo);
+               if (ji->has_thunk_info)
+                       ptr += sizeof (MonoThunkJitInfo);
+               return (MonoUnwindJitInfo*)ptr;
+       } else {
+               return NULL;
+       }
+}
index ad1db94d88ec3c2302512a529fce62e0d5a75f80..84737d60b202cf10313bdfa635a9a74de2e66123 100644 (file)
@@ -9660,13 +9660,14 @@ enum {
        STELEMREF_OBJECT, /*no check at all*/
        STELEMREF_SEALED_CLASS, /*check vtable->klass->element_type */
        STELEMREF_CLASS, /*only the klass->parents check*/
+       STELEMREF_CLASS_SMALL_IDEPTH, /* like STELEMREF_CLASS bit without the idepth check */
        STELEMREF_INTERFACE, /*interfaces without variant generic arguments. */
        STELEMREF_COMPLEX, /*arrays, MBR or types with variant generic args - go straight to icalls*/
        STELEMREF_KIND_COUNT
 };
 
 static const char *strelemref_wrapper_name[] = {
-       "object", "sealed_class", "class", "interface", "complex"
+       "object", "sealed_class", "class", "class_small_idepth", "interface", "complex"
 };
 
 static gboolean
@@ -9699,6 +9700,9 @@ get_virtual_stelemref_kind (MonoClass *element_class)
                return STELEMREF_COMPLEX;
        if (mono_class_is_sealed (element_class))
                return STELEMREF_SEALED_CLASS;
+       if (element_class->idepth <= MONO_DEFAULT_SUPERTABLE_SIZE)
+               return STELEMREF_CLASS_SMALL_IDEPTH;
+
        return STELEMREF_CLASS;
 }
 
@@ -10013,6 +10017,76 @@ get_virtual_stelemref_wrapper (int kind)
                mono_mb_emit_exception (mb, "ArrayTypeMismatchException", NULL);
                break;
        }
+
+       case STELEMREF_CLASS_SMALL_IDEPTH:
+               /*
+               the method:
+               <ldelema (bound check)>
+               if (!value)
+                       goto do_store;
+
+               aklass = array->vtable->klass->element_class;
+               vklass = value->vtable->klass;
+
+               if (vklass->supertypes [aklass->idepth - 1] != aklass)
+                       goto do_exception;
+
+               do_store:
+                       *array_slot_addr = value;
+                       return;
+
+               long:
+                       throw new ArrayTypeMismatchException ();
+               */
+               aklass = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
+               vklass = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
+               array_slot_addr = mono_mb_add_local (mb, &mono_defaults.object_class->this_arg);
+
+               /* ldelema (implicit bound check) */
+               load_array_element_address (mb);
+               mono_mb_emit_stloc (mb, array_slot_addr);
+
+               /* if (!value) goto do_store */
+               mono_mb_emit_ldarg (mb, 2);
+               b1 = mono_mb_emit_branch (mb, CEE_BRFALSE);
+
+               /* aklass = array->vtable->klass->element_class */
+               load_array_class (mb, aklass);
+
+               /* vklass = value->vtable->klass */
+               load_value_class (mb, vklass);
+
+               /* if (vklass->supertypes [aklass->idepth - 1] != aklass) goto failure */
+               mono_mb_emit_ldloc (mb, vklass);
+               mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoClass, supertypes));
+               mono_mb_emit_byte (mb, CEE_LDIND_I);
+
+               mono_mb_emit_ldloc (mb, aklass);
+               mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoClass, idepth));
+               mono_mb_emit_byte (mb, CEE_LDIND_U2);
+               mono_mb_emit_icon (mb, 1);
+               mono_mb_emit_byte (mb, CEE_SUB);
+               mono_mb_emit_icon (mb, sizeof (void*));
+               mono_mb_emit_byte (mb, CEE_MUL);
+               mono_mb_emit_byte (mb, CEE_ADD);
+               mono_mb_emit_byte (mb, CEE_LDIND_I);
+
+               mono_mb_emit_ldloc (mb, aklass);
+               b4 = mono_mb_emit_branch (mb, CEE_BNE_UN);
+
+               /* do_store: */
+               mono_mb_patch_branch (mb, b1);
+               mono_mb_emit_ldloc (mb, array_slot_addr);
+               mono_mb_emit_ldarg (mb, 2);
+               mono_mb_emit_byte (mb, CEE_STIND_REF);
+               mono_mb_emit_byte (mb, CEE_RET);
+
+               /* do_exception: */
+               mono_mb_patch_branch (mb, b4);
+
+               mono_mb_emit_exception (mb, "ArrayTypeMismatchException", NULL);
+               break;
+
        case STELEMREF_INTERFACE:
                /*Mono *klass;
                MonoVTable *vt;
index 9b1c17772b0e72ee2c7795a9cfce1917ee642f74..54699c48ed7d833a7622464169ef23d2eb29489f 100644 (file)
@@ -3073,6 +3073,18 @@ mono_metadata_get_image_set_for_method (MonoMethodInflated *method)
        return set;
 }
 
+static gboolean
+type_is_gtd (MonoType *type)
+{
+       switch (type->type) {
+       case MONO_TYPE_CLASS:
+       case MONO_TYPE_VALUETYPE:
+               return mono_class_is_gtd (type->data.klass);
+       default:
+               return FALSE;
+       }
+}
+
 /*
  * mono_metadata_get_generic_inst:
  *
@@ -3100,6 +3112,13 @@ mono_metadata_get_generic_inst (int type_argc, MonoType **type_argv)
        ginst->type_argc = type_argc;
        memcpy (ginst->type_argv, type_argv, type_argc * sizeof (MonoType *));
 
+       for (i = 0; i < type_argc; ++i) {
+               MonoType *t = ginst->type_argv [i];
+               if (type_is_gtd (t)) {
+                       ginst->type_argv [i] = mono_class_gtd_get_canonical_inst (t->data.klass);
+               }
+       }
+
        return mono_metadata_get_canonical_generic_inst (ginst);
 }
 
index 5dff7bf1940f93d32d0950476a80e0a475460fa0..597224a7672a44a2674fab5369b412e75b5e8759 100644 (file)
@@ -426,11 +426,17 @@ mono_gc_is_disabled (void)
 }
 
 void
-mono_gc_wbarrier_value_copy_bitmap (gpointer _dest, gpointer _src, int size, unsigned bitmap)
+mono_gc_wbarrier_range_copy (gpointer _dest, gpointer _src, int size)
 {
        g_assert_not_reached ();
 }
 
+void*
+mono_gc_get_range_copy_func (void)
+{
+       return &mono_gc_wbarrier_range_copy;
+}
+
 guint8*
 mono_gc_get_card_table (int *shift_bits, gpointer *card_mask)
 {
index 83ba48893d6dc1f5e0a355563a1e8f4d3253df81..9ad68f46a1540eaefe5a6c19bb438c1f7196a846 100644 (file)
@@ -1186,11 +1186,18 @@ typedef struct {
        MonoArray *global_fields;
        gboolean is_main;
        MonoArray *resources;
+       GHashTable *unparented_classes;
 } MonoReflectionModuleBuilder;
 
 /* Safely acess System.Reflection.Emit.ModuleBuidler from native code */
 TYPED_HANDLE_DECL (MonoReflectionModuleBuilder);
 
+typedef enum {
+       MonoTypeBuilderNew = 0,
+       MonoTypeBuilderEntered = 1,
+       MonoTypeBuilderFinished = 2
+} MonoTypeBuilderState;
+
 typedef struct {
        MonoReflectionType type;
        MonoString *name;
@@ -1216,6 +1223,7 @@ typedef struct {
        MonoArray *generic_params;
        MonoArray *permissions;
        MonoReflectionType *created;
+       gint32 state;
 } MonoReflectionTypeBuilder;
 
 /* Safely access System.Reflection.Emit.TypeBuilder from native code */
index ae6b5d774e3ecca34d6c374cff2e2b70fbdd3975..c23c56bafb87838a93505e21cb009b262b8edace 100644 (file)
@@ -1968,7 +1968,6 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *klass, MonoErro
                        /*g_print ("bitmap 0x%x for %s.%s (size: %d)\n", bitmap [0], klass->name_space, klass->name, class_size);*/
                        statics_gc_descr = mono_gc_make_descr_from_bitmap (bitmap, max_set + 1);
                        vt->vtable [klass->vtable_size] = mono_gc_alloc_fixed (class_size, statics_gc_descr, MONO_ROOT_SOURCE_STATIC, "managed static variables");
-                       mono_domain_add_class_static_data (domain, klass, vt->vtable [klass->vtable_size], NULL);
                        if (bitmap != default_bitmap)
                                g_free (bitmap);
                } else {
index a67fc067263ca69b8714b0bb056b9c2fe4028e3d..fc379e52a8f47636618fea8f16a5cc35e64192f2 100644 (file)
@@ -181,9 +181,15 @@ mono_gc_wbarrier_set_field (MonoObject *obj, gpointer field_ptr, MonoObject* val
 }
 
 void
-mono_gc_wbarrier_value_copy_bitmap (gpointer _dest, gpointer _src, int size, unsigned bitmap)
+mono_gc_wbarrier_range_copy (gpointer _dest, gpointer _src, int size)
 {
-       sgen_wbarrier_value_copy_bitmap (_dest, _src, size, bitmap);
+       sgen_wbarrier_range_copy (_dest, _src, size);
+}
+
+void*
+mono_gc_get_range_copy_func (void)
+{
+       return sgen_get_remset ()->wbarrier_range_copy;
 }
 
 int
index 2d833eacdcbb8b9aaa78b597b11579e793458423..96ff937e0d1a6048376cffc928462b0f766136f3 100644 (file)
@@ -48,7 +48,8 @@ static guint32 mono_image_get_sighelper_token (MonoDynamicImage *assembly, MonoR
 static gboolean ensure_runtime_vtable (MonoClass *klass, MonoError  *error);
 static void reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, MonoReflectionDynamicMethod *mb);
 static gboolean reflection_setup_internal_class (MonoReflectionTypeBuilderHandle tb, MonoError *error);
-static gboolean reflection_create_generic_class (MonoReflectionTypeBuilderHandle tb, MonoError *error);
+static gboolean reflection_init_generic_class (MonoReflectionTypeBuilderHandle tb, MonoError *error);
+static gboolean reflection_setup_class_hierarchy (GHashTable *unparented, MonoError *error);
 
 
 static gpointer register_assembly (MonoDomain *domain, MonoReflectionAssembly *res, MonoAssembly *assembly);
@@ -1520,7 +1521,7 @@ reflection_instance_handle_mono_type (MonoReflectionGenericClassHandle ref_gclas
        }
        MonoClass *gtd_klass = mono_class_from_mono_type (gtd);
        if (is_sre_type_builder (mono_handle_class (ref_gtd))) {
-               reflection_create_generic_class (MONO_HANDLE_CAST (MonoReflectionTypeBuilder, ref_gtd), error);
+               reflection_setup_internal_class (MONO_HANDLE_CAST (MonoReflectionTypeBuilder, ref_gtd), error);
                if (!is_ok (error)) {
                        goto leave;
                }
@@ -2335,52 +2336,65 @@ leave:
        return result;
 }
 
-/**
- * reflection_setup_internal_class:
- * @tb: a TypeBuilder object
- * @error: set on error
- *
- * Creates a MonoClass that represents the TypeBuilder.
- * This is a trick that lets us simplify a lot of reflection code
- * (and will allow us to support Build and Run assemblies easier).
- *
- * Returns TRUE on success. On failure, returns FALSE and sets @error.
- */
 static gboolean
-reflection_setup_internal_class (MonoReflectionTypeBuilderHandle ref_tb, MonoError *error)
+reflection_setup_class_hierarchy (GHashTable *unparented, MonoError *error)
 {
-       HANDLE_FUNCTION_ENTER ();
        error_init (error);
 
        mono_loader_lock ();
 
-       MonoReflectionTypeHandle ref_parent = MONO_HANDLE_NEW_GET (MonoReflectionType, ref_tb, parent);
-       MonoClass *parent = NULL;
-       if (!MONO_HANDLE_IS_NULL (ref_parent)) {
-               MonoType *parent_type = mono_reflection_type_handle_mono_type (ref_parent, error);
-               if (!is_ok (error))
-                       goto leave;
-               /* check so we can compile corlib correctly */
-               if (strcmp (mono_handle_class (ref_parent)->name, "TypeBuilder") == 0) {
-                       /* mono_class_setup_mono_type () guaranteess type->data.klass is valid */
-                       parent = parent_type->data.klass;
-               } else {
-                       parent = mono_class_from_mono_type (parent_type);
+       MonoType *parent_type;
+       MonoType *child_type;
+       GHashTableIter iter;
+
+       g_hash_table_iter_init (&iter, unparented);
+
+       while (g_hash_table_iter_next (&iter, (gpointer *) &child_type, (gpointer *) &parent_type)) {
+               MonoClass *child_class = mono_class_from_mono_type (child_type);
+               if (parent_type != NULL) {
+                       MonoClass *parent_class = mono_class_from_mono_type (parent_type);
+                       child_class->parent = NULL;
+                       /* fool mono_class_setup_parent */
+                       child_class->supertypes = NULL;
+                       mono_class_setup_parent (child_class, parent_class);
+               } else if (strcmp (child_class->name, "Object") == 0 && strcmp (child_class->name_space, "System") == 0) {
+                       const char *old_n = child_class->name;
+                       /* trick to get relative numbering right when compiling corlib */
+                       child_class->name = "BuildingObject";
+                       mono_class_setup_parent (child_class, mono_defaults.object_class);
+                       child_class->name = old_n;
                }
+               mono_class_setup_mono_type (child_class);
+               mono_class_setup_supertypes (child_class);
        }
-       
-       /* the type has already being created: it means we just have to change the parent */
-       MonoType *type = MONO_HANDLE_GETVAL (MONO_HANDLE_CAST (MonoReflectionType, ref_tb), type);
-       if (type != NULL) {
-               MonoClass *klass = mono_class_from_mono_type (type);
-               klass->parent = NULL;
-               /* fool mono_class_setup_parent */
-               klass->supertypes = NULL;
-               mono_class_setup_parent (klass, parent);
-               mono_class_setup_mono_type (klass);
+
+       mono_loader_unlock ();
+       return is_ok (error);
+}
+
+static gboolean
+reflection_setup_internal_class_internal (MonoReflectionTypeBuilderHandle ref_tb, MonoError *error)
+{
+       HANDLE_FUNCTION_ENTER ();
+       error_init (error);
+
+       mono_loader_lock ();
+
+       gint32 entering_state = MONO_HANDLE_GETVAL (MONO_HANDLE_CAST (MonoReflectionTypeBuilder, ref_tb), state);
+       if (entering_state != MonoTypeBuilderNew) {
+               g_assert (MONO_HANDLE_GETVAL (MONO_HANDLE_CAST (MonoReflectionType, ref_tb), type));
                goto leave;
        }
 
+       MONO_HANDLE_SETVAL (ref_tb, state, MonoTypeBuilderState, MonoTypeBuilderEntered);
+       MonoReflectionModuleBuilderHandle module_ref = MONO_HANDLE_NEW_GET (MonoReflectionModuleBuilder, ref_tb, module);
+       GHashTable *unparented_classes = MONO_HANDLE_GETVAL(module_ref, unparented_classes);
+
+       // If this type is already setup, exit. We'll fix the parenting later
+       MonoType *type = MONO_HANDLE_GETVAL (MONO_HANDLE_CAST (MonoReflectionType, ref_tb), type);
+       if (type)
+               goto leave;
+
        MonoReflectionModuleBuilderHandle ref_module = MONO_HANDLE_NEW_GET (MonoReflectionModuleBuilder, ref_tb, module);
        MonoDynamicImage *dynamic_image = MONO_HANDLE_GETVAL (ref_module, dynamic_image);
 
@@ -2431,16 +2445,6 @@ reflection_setup_internal_class (MonoReflectionTypeBuilderHandle ref_tb, MonoErr
 
        mono_dynamic_image_register_token (dynamic_image, MONO_TOKEN_TYPE_DEF | table_idx, MONO_HANDLE_CAST (MonoObject, ref_tb));
 
-       if (parent != NULL) {
-               mono_class_setup_parent (klass, parent);
-       } else if (strcmp (klass->name, "Object") == 0 && strcmp (klass->name_space, "System") == 0) {
-               const char *old_n = klass->name;
-               /* trick to get relative numbering right when compiling corlib */
-               klass->name = "BuildingObject";
-               mono_class_setup_parent (klass, mono_defaults.object_class);
-               klass->name = old_n;
-       }
-
        if ((!strcmp (klass->name, "ValueType") && !strcmp (klass->name_space, "System")) ||
                        (!strcmp (klass->name, "Object") && !strcmp (klass->name_space, "System")) ||
                        (!strcmp (klass->name, "Enum") && !strcmp (klass->name_space, "System"))) {
@@ -2451,14 +2455,52 @@ reflection_setup_internal_class (MonoReflectionTypeBuilderHandle ref_tb, MonoErr
 
        mono_class_setup_mono_type (klass);
 
-       mono_class_setup_supertypes (klass);
-
        /*
         * FIXME: handle interfaces.
         */
-
        MonoReflectionTypeHandle ref_tb_type = MONO_HANDLE_CAST (MonoReflectionType, ref_tb);
        MONO_HANDLE_SETVAL (ref_tb_type, type, MonoType*, &klass->byval_arg);
+       MONO_HANDLE_SETVAL (ref_tb, state, gint32, MonoTypeBuilderFinished);
+
+       reflection_init_generic_class (ref_tb, error);
+       if (!is_ok (error))
+               goto leave;
+
+       // Do here so that the search inside of the parent can see the above type that's been set.
+       MonoReflectionTypeHandle ref_parent = MONO_HANDLE_NEW_GET (MonoReflectionType, ref_tb, parent);
+       MonoType *parent_type = NULL;
+       if (!MONO_HANDLE_IS_NULL (ref_parent)) {
+               MonoClass *parent_klass = mono_handle_class (ref_parent);
+               gboolean recursive_init = TRUE;
+
+               if (is_sre_type_builder (parent_klass)) {
+                       MonoTypeBuilderState parent_state = MONO_HANDLE_GETVAL (MONO_HANDLE_CAST (MonoReflectionTypeBuilder, ref_parent), state);
+
+                       if (parent_state != MonoTypeBuilderNew) {
+                               // Initialize types reachable from parent recursively
+                               // We'll fix the type hierarchy later
+                               recursive_init = FALSE;
+                       }
+               }
+
+               if (recursive_init) {
+                       // If we haven't encountered a cycle, force the creation of ref_parent's type
+                       mono_reflection_type_handle_mono_type (ref_parent, error);
+                       if (!is_ok (error))
+                               goto leave;
+               }
+
+               parent_type = MONO_HANDLE_GETVAL (ref_parent, type);
+
+               // If we failed to create the parent, fail the child
+               if (!parent_type)
+                       goto leave;
+       }
+
+       // Push the child type and parent type to process later
+       // Note: parent_type may be null.
+       g_assert (!g_hash_table_lookup (unparented_classes, &klass->byval_arg));
+       g_hash_table_insert (unparented_classes, &klass->byval_arg, parent_type);
 
        if (!MONO_HANDLE_IS_NULL (ref_nesting_type)) {
                if (!reflection_setup_internal_class (MONO_HANDLE_CAST (MonoReflectionTypeBuilder, ref_nesting_type), error))
@@ -2480,23 +2522,25 @@ leave:
 }
 
 /**
- * reflection_create_generic_class:
+ * reflection_init_generic_class:
  * @tb: a TypeBuilder object
  * @error: set on error
  *
  * Creates the generic class after all generic parameters have been added.
  * On success returns TRUE, on failure returns FALSE and sets @error.
+ *
+ * This assumes that reflection_setup_internal_class has already set up
+ * ref_tb
  */
 static gboolean
-reflection_create_generic_class (MonoReflectionTypeBuilderHandle ref_tb, MonoError *error)
+reflection_init_generic_class (MonoReflectionTypeBuilderHandle ref_tb, MonoError *error)
 {
        HANDLE_FUNCTION_ENTER ();
 
        error_init (error);
 
-       reflection_setup_internal_class (ref_tb, error);
-       if (!is_ok (error))
-               goto leave;
+       MonoTypeBuilderState ref_state = MONO_HANDLE_GETVAL (ref_tb, state);
+       g_assert (ref_state == MonoTypeBuilderFinished);
 
        MonoType *type = MONO_HANDLE_GETVAL (MONO_HANDLE_CAST (MonoReflectionType, ref_tb), type);
        MonoClass *klass = mono_class_from_mono_type (type);
@@ -2537,6 +2581,11 @@ reflection_create_generic_class (MonoReflectionTypeBuilderHandle ref_tb, MonoErr
        }
 
        generic_container->context.class_inst = mono_get_shared_generic_inst (generic_container);
+       MonoGenericContext* context = &generic_container->context;
+       MonoType *canonical_inst = &((MonoClassGtd*)klass)->canonical_inst;
+       canonical_inst->type = MONO_TYPE_GENERICINST;
+       canonical_inst->data.generic_class = mono_metadata_lookup_generic_class (klass, context->class_inst, FALSE);
+
 leave:
        HANDLE_FUNCTION_RETURN_VAL (is_ok (error));
 }
@@ -3525,12 +3574,51 @@ remove_instantiations_of_and_ensure_contents (gpointer key,
                return FALSE;
 }
 
+/**
+ * reflection_setup_internal_class:
+ * @tb: a TypeBuilder object
+ * @error: set on error
+ *
+ * Creates a MonoClass that represents the TypeBuilder.
+ * This is a trick that lets us simplify a lot of reflection code
+ * (and will allow us to support Build and Run assemblies easier).
+ *
+ * Returns TRUE on success. On failure, returns FALSE and sets @error.
+ */
+static gboolean
+reflection_setup_internal_class (MonoReflectionTypeBuilderHandle ref_tb, MonoError *error)
+{
+       MonoReflectionModuleBuilderHandle module_ref = MONO_HANDLE_NEW_GET (MonoReflectionModuleBuilder, ref_tb, module);
+       GHashTable *unparented_classes = MONO_HANDLE_GETVAL(module_ref, unparented_classes);
+
+       if (unparented_classes) {
+               return reflection_setup_internal_class_internal (ref_tb, error);
+       } else {
+               // If we're not being called recursively
+               unparented_classes = g_hash_table_new (NULL, NULL);
+               MONO_HANDLE_SETVAL (module_ref, unparented_classes, GHashTable *, unparented_classes);
+
+               gboolean ret_val = reflection_setup_internal_class_internal (ref_tb, error);
+               mono_error_assert_ok (error);
+
+               // Fix the relationship between the created classes and their parents
+               reflection_setup_class_hierarchy (unparented_classes, error);
+               mono_error_assert_ok (error);
+
+               g_hash_table_destroy (unparented_classes);
+               MONO_HANDLE_SETVAL (module_ref, unparented_classes, GHashTable *, NULL);
+
+               return ret_val;
+       }
+}
+
+
 MonoReflectionTypeHandle
 ves_icall_TypeBuilder_create_runtime_class (MonoReflectionTypeBuilderHandle ref_tb, MonoError *error)
 {
        error_init (error);
 
-       reflection_create_generic_class (ref_tb, error);
+       reflection_setup_internal_class (ref_tb, error);
        mono_error_assert_ok (error);
 
        MonoDomain *domain = MONO_HANDLE_DOMAIN (ref_tb);
index 4b94301b046b13444c0f7c7037b503687c9c7bfd..c18f91c9749b6f76e74396ae1d793ac381c416e6 100644 (file)
@@ -6134,11 +6134,23 @@ emit_exception_debug_info (MonoAotCompile *acfg, MonoCompile *cfg, gboolean stor
                        clause = &header->clauses [k];
 
                        encode_value (clause->flags, p, &p);
-                       if (clause->data.catch_class) {
-                               encode_value (1, p, &p);
-                               encode_klass_ref (acfg, clause->data.catch_class, p, &p);
-                       } else {
-                               encode_value (0, p, &p);
+                       if (!(clause->flags == MONO_EXCEPTION_CLAUSE_FILTER || clause->flags == MONO_EXCEPTION_CLAUSE_FINALLY)) {
+                               if (clause->data.catch_class) {
+                                       guint8 *buf2, *p2;
+                                       int len;
+
+                                       buf2 = (guint8 *)g_malloc (4096);
+                                       p2 = buf2;
+                                       encode_klass_ref (acfg, clause->data.catch_class, p2, &p2);
+                                       len = p2 - buf2;
+                                       g_assert (len < 4096);
+                                       encode_value (len, p, &p);
+                                       memcpy (p, buf2, len);
+                                       p += p2 - buf2;
+                                       g_free (buf2);
+                               } else {
+                                       encode_value (0, p, &p);
+                               }
                        }
 
                        /* Emit the IL ranges too, since they might not be available at runtime */
index 3a5b1813ee10d15c65a0bbe8fb65624fd411ae25..d5ae8dbeece97b2fb080d546eaa4abcf04698354 100644 (file)
@@ -2665,15 +2665,15 @@ is_thumb_code (MonoAotModule *amodule, guint8 *code)
  *
  *   Decode the EH information emitted by our modified LLVM compiler and construct a
  * MonoJitInfo structure from it.
- * LOCKING: Acquires the domain lock.
+ * If JINFO is NULL, set OUT_LLVM_CLAUSES to the number of llvm level clauses.
+ * This function is async safe when called in async context.
  */
-static MonoJitInfo*
-decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain, 
-                                                  MonoMethod *method, guint8 *code, guint32 code_len,
+static void
+decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain, MonoJitInfo *jinfo,
+                                                  guint8 *code, guint32 code_len,
                                                   MonoJitExceptionInfo *clauses, int num_clauses,
-                                                  MonoJitInfoFlags flags,
                                                   GSList **nesting,
-                                                  int *this_reg, int *this_offset)
+                                                  int *this_reg, int *this_offset, int *out_llvm_clauses)
 {
        guint8 *p, *code1, *code2;
        guint8 *fde, *cie, *code_start, *code_end;
@@ -2683,14 +2683,19 @@ decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
        MonoJitExceptionInfo *ei;
        guint32 fde_len, ei_len, nested_len, nindex;
        gpointer *type_info;
-       MonoJitInfo *jinfo;
        MonoLLVMFDEInfo info;
+       guint8 *unw_info;
+       gboolean async;
+
+       async = mono_thread_info_is_async_context ();
 
        if (!amodule->mono_eh_frame) {
-               jinfo = (MonoJitInfo *)mono_domain_alloc0_lock_free (domain, mono_jit_info_size (flags, num_clauses, 0));
-               mono_jit_info_init (jinfo, method, code, code_len, flags, num_clauses, 0);
+               if (!jinfo) {
+                       *out_llvm_clauses = num_clauses;
+                       return;
+               }
                memcpy (jinfo->clauses, clauses, num_clauses * sizeof (MonoJitExceptionInfo));
-               return jinfo;
+               return;
        }
 
        g_assert (amodule->mono_eh_frame && code);
@@ -2759,13 +2764,29 @@ decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
        /* This won't overflow because there is +1 entry in the table */
        fde_len = table [(pos * 2) + 2 + 1] - table [(pos * 2) + 1];
 
-       mono_unwind_decode_llvm_mono_fde (fde, fde_len, cie, code_start, &info);
-       ei = info.ex_info;
+       /* Compute lengths */
+       mono_unwind_decode_llvm_mono_fde (fde, fde_len, cie, code_start, &info, NULL, NULL, NULL);
+
+       if (async) {
+               /* These are leaked, but the leak is bounded */
+               ei = mono_domain_alloc0_lock_free (domain, info.ex_info_len * sizeof (MonoJitExceptionInfo));
+               type_info = mono_domain_alloc0_lock_free (domain, info.ex_info_len * sizeof (gpointer));
+               unw_info = mono_domain_alloc0_lock_free (domain, info.unw_info_len);
+       } else {
+               ei = (MonoJitExceptionInfo *)g_malloc0 (info.ex_info_len * sizeof (MonoJitExceptionInfo));
+               type_info = (gpointer *)g_malloc0 (info.ex_info_len * sizeof (gpointer));
+               unw_info = (guint8*)g_malloc0 (info.unw_info_len);
+       }
+       mono_unwind_decode_llvm_mono_fde (fde, fde_len, cie, code_start, &info, ei, type_info, unw_info);
+
        ei_len = info.ex_info_len;
-       type_info = info.type_info;
        *this_reg = info.this_reg;
        *this_offset = info.this_offset;
 
+       /*
+        * LLVM might represent one IL region with multiple regions.
+        */
+
        /* Count number of nested clauses */
        nested_len = 0;
        for (i = 0; i < ei_len; ++i) {
@@ -2777,18 +2798,16 @@ decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
                        nested_len ++;
        }
 
-       /*
-        * LLVM might represent one IL region with multiple regions, so have to
-        * allocate a new JI.
-        */
-       jinfo = 
-               (MonoJitInfo *)mono_domain_alloc0_lock_free (domain, mono_jit_info_size (flags, ei_len + nested_len, 0));
-       mono_jit_info_init (jinfo, method, code, code_len, flags, ei_len + nested_len, 0);
+       if (!jinfo) {
+               *out_llvm_clauses = ei_len + nested_len;
+               return;
+       }
 
-       jinfo->unwind_info = mono_cache_unwind_info (info.unw_info, info.unw_info_len);
-       /* This signals that unwind_info points to a normal cached unwind info */
-       jinfo->from_aot = 0;
-       jinfo->from_llvm = 1;
+       /* Store the unwind info addr/length in the MonoJitInfo structure itself so its async safe */
+       MonoUnwindJitInfo *jinfo_unwind = mono_jit_info_get_unwind_info (jinfo);
+       g_assert (jinfo_unwind);
+       jinfo_unwind->unw_info = unw_info;
+       jinfo_unwind->unw_info_len = info.unw_info_len;
 
        for (i = 0; i < ei_len; ++i) {
                /*
@@ -2838,8 +2857,6 @@ decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
                }
        }
        g_assert (nindex == ei_len + nested_len);
-
-       return jinfo;
 }
 
 static gpointer
@@ -2924,24 +2941,41 @@ decode_exception_debug_info (MonoAotModule *amodule, MonoDomain *domain,
                MonoJitExceptionInfo *clauses;
                GSList **nesting;
 
-               // FIXME: async
-               g_assert (!async);
-
                /*
                 * Part of the info is encoded by the AOT compiler, the rest is in the .eh_frame
                 * section.
                 */
-               clauses = g_new0 (MonoJitExceptionInfo, num_clauses);
-               nesting = g_new0 (GSList*, num_clauses);
+               if (async) {
+                       if (num_clauses < 16) {
+                               clauses = g_newa (MonoJitExceptionInfo, num_clauses);
+                               nesting = g_newa (GSList*, num_clauses);
+                       } else {
+                               clauses = alloc0_jit_info_data (domain, sizeof (MonoJitExceptionInfo) * num_clauses, TRUE);
+                               nesting = alloc0_jit_info_data (domain, sizeof (GSList*) * num_clauses, TRUE);
+                       }
+                       memset (clauses, 0, sizeof (MonoJitExceptionInfo) * num_clauses);
+                       memset (nesting, 0, sizeof (GSList*) * num_clauses);
+               } else {
+                       clauses = g_new0 (MonoJitExceptionInfo, num_clauses);
+                       nesting = g_new0 (GSList*, num_clauses);
+               }
 
                for (i = 0; i < num_clauses; ++i) {
                        MonoJitExceptionInfo *ei = &clauses [i];
 
                        ei->flags = decode_value (p, &p);
 
-                       if (decode_value (p, &p)) {
-                               ei->data.catch_class = decode_klass_ref (amodule, p, &p, &error);
-                               mono_error_cleanup (&error); /* FIXME don't swallow the error */
+                       if (!(ei->flags == MONO_EXCEPTION_CLAUSE_FILTER || ei->flags == MONO_EXCEPTION_CLAUSE_FINALLY)) {
+                               int len = decode_value (p, &p);
+
+                               if (len > 0) {
+                                       if (async) {
+                                               p += len;
+                                       } else {
+                                               ei->data.catch_class = decode_klass_ref (amodule, p, &p, &error);
+                                               mono_error_cleanup (&error); /* FIXME don't swallow the error */
+                                       }
+                               }
                        }
 
                        ei->clause_index = i;
@@ -2956,16 +2990,29 @@ decode_exception_debug_info (MonoAotModule *amodule, MonoDomain *domain,
                                int nesting_index = decode_value (p, &p);
                                if (nesting_index == -1)
                                        break;
+                               // FIXME: async
+                               g_assert (!async);
                                nesting [i] = g_slist_prepend (nesting [i], GINT_TO_POINTER (nesting_index));
                        }
                }
 
-               jinfo = decode_llvm_mono_eh_frame (amodule, domain, method, code, code_len, clauses, num_clauses, flags, nesting, &this_reg, &this_offset);
+               flags |= JIT_INFO_HAS_UNWIND_INFO;
+
+               int num_llvm_clauses;
+               /* Get the length first */
+               decode_llvm_mono_eh_frame (amodule, domain, NULL, code, code_len, clauses, num_clauses, nesting, &this_reg, &this_offset, &num_llvm_clauses);
+               len = mono_jit_info_size (flags, num_llvm_clauses, num_holes);
+               jinfo = (MonoJitInfo *)alloc0_jit_info_data (domain, len, async);
+               mono_jit_info_init (jinfo, method, code, code_len, flags, num_llvm_clauses, num_holes);
 
-               g_free (clauses);
-               for (i = 0; i < num_clauses; ++i)
-                       g_slist_free (nesting [i]);
-               g_free (nesting);
+               decode_llvm_mono_eh_frame (amodule, domain, jinfo, code, code_len, clauses, num_clauses, nesting, &this_reg, &this_offset, NULL);
+
+               if (!async) {
+                       g_free (clauses);
+                       for (i = 0; i < num_clauses; ++i)
+                               g_slist_free (nesting [i]);
+                       g_free (nesting);
+               }
        } else {
                len = mono_jit_info_size (flags, num_clauses, num_holes);
                jinfo = (MonoJitInfo *)alloc0_jit_info_data (domain, len, async);
index 8e3691db62bf3bbadad4e51ba32de3e81b8b3a57..839494f06f7766108d27c49b61a592c4ff165f43 100644 (file)
@@ -4705,21 +4705,16 @@ get_this_async_id (StackFrame *frame)
        return get_objid (get_this (frame));
 }
 
-static MonoMethod* set_notification_method_cache = NULL;
-
 static MonoMethod*
-get_set_notification_method ()
+get_set_notification_method (MonoClass* async_builder_class)
 {
-       if(set_notification_method_cache != NULL)
-               return set_notification_method_cache;
        MonoError error;
-       MonoClass* async_builder_class = mono_class_load_from_name (mono_defaults.corlib, "System.Runtime.CompilerServices", "AsyncTaskMethodBuilder");
        GPtrArray* array = mono_class_get_methods_by_name (async_builder_class, "SetNotificationForWaitCompletion", 0x24, FALSE, FALSE, &error);
        mono_error_assert_ok (&error);
        g_assert (array->len == 1);
-       set_notification_method_cache = (MonoMethod *)g_ptr_array_index (array, 0);
+       MonoMethod* set_notification_method = (MonoMethod *)g_ptr_array_index (array, 0);
        g_ptr_array_free (array, TRUE);
-       return set_notification_method_cache;
+       return set_notification_method;
 }
 
 static void
@@ -4738,7 +4733,7 @@ set_set_notification_for_wait_completion_flag (StackFrame *frame)
        void* args [1];
        gboolean arg = TRUE;
        args [0] = &arg;
-       mono_runtime_invoke_checked (get_set_notification_method(), mono_object_unbox (builder), args, &error);
+       mono_runtime_invoke_checked (get_set_notification_method (builder->vtable->klass), mono_object_unbox (builder), args, &error);
        mono_error_assert_ok (&error);
        mono_field_set_value (obj, builder_field, mono_object_unbox (builder));
 }
index b52edd4e404bf1fadba2233bdb25834d92dcf840..401ac247e2a0569fb100aa530f9df08cb1682c03 100644 (file)
@@ -888,11 +888,16 @@ mono_class_static_field_address (MonoDomain *domain, MonoClassField *field)
 
        //printf ("SFLDA1 %p\n", (char*)vtable->data + field->offset);
 
-       if (domain->special_static_fields && (addr = g_hash_table_lookup (domain->special_static_fields, field)))
+       if (field->offset == -1) {
+               /* Special static */
+               g_assert (domain->special_static_fields);
+               mono_domain_lock (domain);
+               addr = g_hash_table_lookup (domain->special_static_fields, field);
+               mono_domain_unlock (domain);
                addr = mono_get_special_static_data (GPOINTER_TO_UINT (addr));
-       else
+       } else {
                addr = (char*)mono_vtable_get_static_field_data (vtable) + field->offset;
-       
+       }
        return addr;
 }
 
index 21fdfa8ce043e062bd8b4ec79f2ba0571c0fb131..c47792226c4e983bd2eb1332ff5495c43292e7a1 100644 (file)
@@ -3053,24 +3053,11 @@ mono_emit_wb_aware_memcpy (MonoCompile *cfg, MonoClass *klass, MonoInst *iargs[4
        if (align < SIZEOF_VOID_P)
                return FALSE;
 
-       /*This value cannot be bigger than 32 due to the way we calculate the required wb bitmap.*/
-       if (size > 32 * SIZEOF_VOID_P)
+       if (size > 5 * SIZEOF_VOID_P)
                return FALSE;
 
        create_write_barrier_bitmap (cfg, klass, &need_wb, 0);
 
-       /* We don't unroll more than 5 stores to avoid code bloat. */
-       if (size > 5 * SIZEOF_VOID_P) {
-               /*This is harmless and simplify mono_gc_wbarrier_value_copy_bitmap */
-               size += (SIZEOF_VOID_P - 1);
-               size &= ~(SIZEOF_VOID_P - 1);
-
-               EMIT_NEW_ICONST (cfg, iargs [2], size);
-               EMIT_NEW_ICONST (cfg, iargs [3], need_wb);
-               mono_emit_jit_icall (cfg, mono_gc_wbarrier_value_copy_bitmap, iargs);
-               return TRUE;
-       }
-
        destreg = iargs [0]->dreg;
        srcreg = iargs [1]->dreg;
        offset = 0;
@@ -3164,6 +3151,8 @@ mini_emit_stobj (MonoCompile *cfg, MonoInst *dest, MonoInst *src, MonoClass *kla
        else
                n = mono_class_value_size (klass, &align);
 
+       if (!align)
+               align = SIZEOF_VOID_P;
        /* if native is true there should be no references in the struct */
        if (cfg->gen_write_barriers && (klass->has_references || size_ins) && !native) {
                /* Avoid barriers when storing to the stack */
@@ -3179,19 +3168,27 @@ mini_emit_stobj (MonoCompile *cfg, MonoInst *dest, MonoInst *src, MonoClass *kla
                        /* It's ok to intrinsify under gsharing since shared code types are layout stable. */
                        if (!size_ins && (cfg->opt & MONO_OPT_INTRINS) && mono_emit_wb_aware_memcpy (cfg, klass, iargs, n, align)) {
                                return;
-                       } else if (context_used) {
-                               iargs [2] = mini_emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_KLASS);
-                       }  else {
-                               iargs [2] = emit_runtime_constant (cfg, MONO_PATCH_INFO_CLASS, klass);
-                               if (!cfg->compile_aot)
-                                       mono_class_compute_gc_descriptor (klass);
-                       }
+                       } else if (size_ins || align < SIZEOF_VOID_P) {
+                               if (context_used) {
+                                       iargs [2] = mini_emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_KLASS);
+                               }  else {
+                                       iargs [2] = emit_runtime_constant (cfg, MONO_PATCH_INFO_CLASS, klass);
+                                       if (!cfg->compile_aot)
+                                               mono_class_compute_gc_descriptor (klass);
+                               }
+                               if (size_ins)
+                                       mono_emit_jit_icall (cfg, mono_gsharedvt_value_copy, iargs);
+                               else
+                                       mono_emit_jit_icall (cfg, mono_value_copy, iargs);
+                       } else {
+                               /* We don't unroll more than 5 stores to avoid code bloat. */
+                               /*This is harmless and simplify mono_gc_get_range_copy_func */
+                               n += (SIZEOF_VOID_P - 1);
+                               n &= ~(SIZEOF_VOID_P - 1);
 
-                       if (size_ins)
-                               mono_emit_jit_icall (cfg, mono_gsharedvt_value_copy, iargs);
-                       else
-                               mono_emit_jit_icall (cfg, mono_value_copy, iargs);
-                       return;
+                               EMIT_NEW_ICONST (cfg, iargs [2], n);
+                               mono_emit_jit_icall (cfg, mono_gc_get_range_copy_func (), iargs);
+                       }
                }
        }
 
index ace42c42331376aa3963e919f8a60b06dc6ead45..d13bca95ee1aa08a09ac3cde6c6ec05c3bbc4f13 100644 (file)
@@ -595,7 +595,7 @@ mono_arch_code_chunk_destroy (void *chunk);
 #define MONO_TRAMPOLINE_UNWINDINFO_SIZE(max_code_count) (mono_arch_unwindinfo_get_size (max_code_count))
 #define MONO_MAX_TRAMPOLINE_UNWINDINFO_SIZE (MONO_TRAMPOLINE_UNWINDINFO_SIZE(3))
 
-inline gboolean
+static inline gboolean
 mono_arch_unwindinfo_validate_size (GSList *unwind_ops, guint max_size)
 {
        guint current_size = mono_arch_unwindinfo_get_size (mono_arch_unwindinfo_get_code_count (unwind_ops));
@@ -607,7 +607,7 @@ mono_arch_unwindinfo_validate_size (GSList *unwind_ops, guint max_size)
 #define MONO_TRAMPOLINE_UNWINDINFO_SIZE(max_code_count) 0
 #define MONO_MAX_TRAMPOLINE_UNWINDINFO_SIZE 0
 
-inline gboolean
+static inline gboolean
 mono_arch_unwindinfo_validate_size (GSList *unwind_ops, guint max_size)
 {
        return TRUE;
index a7da8a6a98c555e7ac42fa1ee9e1b2a2a6f00a0d..0e2c739889b2cafc8797e3eddb3e518140b9b4b2 100644 (file)
@@ -341,7 +341,9 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1
 #define MONO_ARCH_HAVE_CONTEXT_SET_INT_REG 1
 #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
+#ifndef TARGET_IOS
 #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD_AOT 1
+#endif
 #define MONO_ARCH_HAVE_SETUP_RESUME_FROM_SIGNAL_HANDLER_CTX 1
 #define MONO_ARCH_GSHAREDVT_SUPPORTED 1
 #define MONO_ARCH_HAVE_GENERAL_RGCTX_LAZY_FETCH_TRAMPOLINE 1
index f6dc7946c110941b8f7fa1c2f60a1974db48b0a1..8b59f02e3f078d355734c56236c8a98224ffcaf4 100644 (file)
@@ -155,7 +155,9 @@ typedef struct {
 #define MONO_ARCH_HAVE_OPCODE_NEEDS_EMULATION 1
 #define MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS 1
 #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
+#ifndef TARGET_IOS
 #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD_AOT 1
+#endif
 
 #ifdef TARGET_IOS
 
index cacc74c49bc360f876d124fc3fa8a851b479dea7..45ceb0d6629df7c7f288e115d55daf5bd90d3a30 100644 (file)
@@ -2995,7 +2995,12 @@ mono_restore_context (MonoContext *ctx)
 guint8*
 mono_jinfo_get_unwind_info (MonoJitInfo *ji, guint32 *unwind_info_len)
 {
-       if (ji->from_aot)
+       if (ji->has_unwind_info) {
+               /* The address/length in the MonoJitInfo structure itself */
+               MonoUnwindJitInfo *info = mono_jit_info_get_unwind_info (ji);
+               *unwind_info_len = info->unw_info_len;
+               return info->unw_info;
+       } else if (ji->from_aot)
                return mono_aot_get_unwind_info (ji, unwind_info_len);
        else
                return mono_get_cached_unwind_info (ji->unwind_info, unwind_info_len);
index b53dafd323ea81108323fcb26d7cda53573525ae..c40b98b9f2dafc271e04046021c379099544c9da 100644 (file)
@@ -7719,6 +7719,7 @@ decode_llvm_eh_info (EmitContext *ctx, gpointer eh_frame)
        guint32 ei_len, i, nested_len;
        gpointer *type_info;
        gint32 *table;
+       guint8 *unw_info;
 
        /*
         * Decode the one element EH table emitted by the MonoException class
@@ -7751,9 +7752,16 @@ decode_llvm_eh_info (EmitContext *ctx, gpointer eh_frame)
        fde = (guint8*)eh_frame + fde_offset;
        cie = (guint8*)table;
 
-       mono_unwind_decode_llvm_mono_fde (fde, fde_len, cie, cfg->native_code, &info);
+       /* Compute lengths */
+       mono_unwind_decode_llvm_mono_fde (fde, fde_len, cie, cfg->native_code, &info, NULL, NULL, NULL);
 
-       cfg->encoded_unwind_ops = info.unw_info;
+       ei = (MonoJitExceptionInfo *)g_malloc0 (info.ex_info_len * sizeof (MonoJitExceptionInfo));
+       type_info = (gpointer *)g_malloc0 (info.ex_info_len * sizeof (gpointer));
+       unw_info = (guint8*)g_malloc0 (info.unw_info_len);
+
+       mono_unwind_decode_llvm_mono_fde (fde, fde_len, cie, cfg->native_code, &info, ei, type_info, unw_info);
+
+       cfg->encoded_unwind_ops = unw_info;
        cfg->encoded_unwind_ops_len = info.unw_info_len;
        if (cfg->verbose_level > 1)
                mono_print_unwind_info (cfg->encoded_unwind_ops, cfg->encoded_unwind_ops_len);
@@ -7762,9 +7770,7 @@ decode_llvm_eh_info (EmitContext *ctx, gpointer eh_frame)
                cfg->llvm_this_offset = info.this_offset;
        }
 
-       ei = info.ex_info;
        ei_len = info.ex_info_len;
-       type_info = info.type_info;
 
        // Nested clauses are currently disabled
        nested_len = 0;
index b245e264ce469a57417fe932769a3319ac9e8fa1..9efd7c34929b2b4f6766b183085e4852a9b83289 100644 (file)
@@ -4194,7 +4194,7 @@ register_icalls (void)
        register_icall (mono_gsharedvt_constrained_call, "mono_gsharedvt_constrained_call", "object ptr ptr ptr ptr ptr", FALSE);
        register_icall (mono_gsharedvt_value_copy, "mono_gsharedvt_value_copy", "void ptr ptr ptr", TRUE);
 
-       register_icall (mono_gc_wbarrier_value_copy_bitmap, "mono_gc_wbarrier_value_copy_bitmap", "void ptr ptr int int", FALSE);
+       register_icall_no_wrapper (mono_gc_get_range_copy_func (), "mono_gc_range_copy", "void ptr ptr int");
 
        register_icall (mono_object_castclass_with_cache, "mono_object_castclass_with_cache", "object object ptr ptr", FALSE);
        register_icall (mono_object_isinst_with_cache, "mono_object_isinst_with_cache", "object object ptr ptr", FALSE);
index 26c7ada5df39c91beb747816bf8ebbb8e4557ec2..cdcebec8214328b7437a6fa587cbb0d00377bea2 100644 (file)
@@ -196,18 +196,15 @@ guint8* mono_unwind_decode_fde (guint8 *fde, guint32 *out_len, guint32 *code_len
 
 /* Data retrieved from an LLVM Mono FDE entry */
 typedef struct {
-       /* Malloc'ed */
-       guint8 *unw_info;
        guint32 unw_info_len;
-       MonoJitExceptionInfo *ex_info;
        guint32 ex_info_len;
-       gpointer *type_info;
+       int type_info_len;
        int this_reg;
        int this_offset;
 } MonoLLVMFDEInfo;
 
 void
-mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8 *code, MonoLLVMFDEInfo *res) MONO_LLVM_INTERNAL;
+mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8 *code, MonoLLVMFDEInfo *res, MonoJitExceptionInfo *ei, gpointer *type_info, guint8 *unw_info) MONO_LLVM_INTERNAL;
 
 GSList* mono_unwind_get_cie_program (void);
 
index 191386a06bb5032ddeeb6e57b40e2fc81763080a..98714bd220097cd5d8fc5c8f008c8b665e1cca7d 100644 (file)
 #endif
 
 /* Version number of the AOT file format */
-#define MONO_AOT_FILE_VERSION 139
+#define MONO_AOT_FILE_VERSION 140
 
 //TODO: This is x86/amd64 specific.
 #define mono_simd_shuffle_mask(a,b,c,d) ((a) | ((b) << 2) | ((c) << 4) | ((d) << 6))
index 2dc04322dc6b22a1f64feac6342fa85d39e5f334..72f5d0d59e0b959373fcb1cb00dee5b86b4b601d 100644 (file)
@@ -867,9 +867,10 @@ read_encoded_val (guint32 encoding, guint8 *p, guint8 **endp)
  * decode_lsda:
  *
  *   Decode the Mono specific Language Specific Data Area generated by LLVM.
+ * This function is async safe.
  */
 static void
-decode_lsda (guint8 *lsda, guint8 *code, MonoJitExceptionInfo **ex_info, guint32 *ex_info_len, gpointer **type_info, int *this_reg, int *this_offset)
+decode_lsda (guint8 *lsda, guint8 *code, MonoJitExceptionInfo *ex_info, gpointer *type_info, guint32 *ex_info_len, int *this_reg, int *this_offset)
 {
        guint8 *p;
        int i, ncall_sites, this_encoding;
@@ -905,12 +906,8 @@ decode_lsda (guint8 *lsda, guint8 *code, MonoJitExceptionInfo **ex_info, guint32
        ncall_sites = decode_uleb128 (p, &p);
        p = (guint8*)ALIGN_TO ((mgreg_t)p, 4);
 
-       if (ex_info) {
-               *ex_info = (MonoJitExceptionInfo *)g_malloc0 (ncall_sites * sizeof (MonoJitExceptionInfo));
+       if (ex_info_len)
                *ex_info_len = ncall_sites;
-       }
-       if (type_info)
-               *type_info = (gpointer *)g_malloc0 (ncall_sites * sizeof (gpointer));
 
        for (i = 0; i < ncall_sites; ++i) {
                int block_start_offset, block_size, landing_pad;
@@ -930,11 +927,11 @@ decode_lsda (guint8 *lsda, guint8 *code, MonoJitExceptionInfo **ex_info, guint32
                //printf ("X: %p %d\n", landing_pad, *(int*)tinfo);
 
                if (ex_info) {
-                       if (*type_info)
-                               (*type_info) [i] = tinfo;
-                       (*ex_info)[i].try_start = code + block_start_offset;
-                       (*ex_info)[i].try_end = code + block_start_offset + block_size;
-                       (*ex_info)[i].handler_start = code + landing_pad;
+                       if (type_info)
+                               type_info [i] = tinfo;
+                       ex_info[i].try_start = code + block_start_offset;
+                       ex_info[i].try_end = code + block_start_offset + block_size;
+                       ex_info[i].handler_start = code + landing_pad;
                }
        }
 }
@@ -1073,7 +1070,16 @@ mono_unwind_decode_fde (guint8 *fde, guint32 *out_len, guint32 *code_len, MonoJi
                if (lsda_offset != 0) {
                        lsda = fde_aug + lsda_offset;
 
-                       decode_lsda (lsda, code, ex_info, ex_info_len, type_info, this_reg, this_offset);
+                       /* Get the lengths first */
+                       guint32 len;
+                       decode_lsda (lsda, code, NULL, NULL, &len, this_reg, this_offset);
+
+                       if (ex_info)
+                               *ex_info = (MonoJitExceptionInfo *)g_malloc0 (len * sizeof (MonoJitExceptionInfo));
+                       if (type_info)
+                               *type_info = (gpointer *)g_malloc0 (len * sizeof (gpointer));
+
+                       decode_lsda (lsda, code, ex_info ? *ex_info : NULL, type_info ? *type_info : NULL, ex_info_len, this_reg, this_offset);
                }
        }
 
@@ -1116,13 +1122,15 @@ mono_unwind_decode_fde (guint8 *fde, guint32 *out_len, guint32 *code_len, MonoJi
  * mono_unwind_decode_mono_fde:
  *
  *   Decode an FDE entry in the LLVM emitted mono EH frame.
- * info->ex_info is set to a malloc-ed array of MonoJitExceptionInfo structures,
- * only try_start, try_end and handler_start is set.
- * info->type_info is set to a malloc-ed array containing the ttype table from the
- * LSDA.
+ * If EI/TYPE_INFO/UNW_INFO are NULL, compute only the value of the scalar fields in INFO.
+ * Otherwise:
+ * - Fill out EX_INFO with try_start, try_end and handler_start.
+ * - Fill out TYPE_INFO with the ttype table from the LSDA.
+ * - Fill out UNW_INFO with the unwind info.
+ * This function is async safe.
  */
 void
-mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8 *code, MonoLLVMFDEInfo *res)
+mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8 *code, MonoLLVMFDEInfo *res, MonoJitExceptionInfo *ex_info, gpointer *type_info, guint8 *unw_info)
 {
        guint8 *p, *fde_aug, *cie_cfi, *fde_cfi, *buf;
        int has_aug, aug_len, cie_cfi_len, fde_cfi_len;
@@ -1152,7 +1160,10 @@ mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8
                /* The LSDA is embedded directly into the FDE */
                lsda = fde_aug;
 
-               decode_lsda (lsda, code, &res->ex_info, &res->ex_info_len, &res->type_info, &res->this_reg, &res->this_offset);
+               /* Get the lengths first */
+               decode_lsda (lsda, code, NULL, NULL, &res->ex_info_len, &res->this_reg, &res->this_offset);
+
+               decode_lsda (lsda, code, ex_info, type_info, NULL, &res->this_reg, &res->this_offset);
        }
 
        /* Decode CIE */
@@ -1183,12 +1194,13 @@ mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8
        cie_cfi_len = p - cie_cfi;
        fde_cfi_len = (fde + fde_len - fde_cfi);
 
-       buf = (guint8 *)g_malloc0 (cie_cfi_len + fde_cfi_len);
-       memcpy (buf, cie_cfi, cie_cfi_len);
-       memcpy (buf + cie_cfi_len, fde_cfi, fde_cfi_len);
+       buf = unw_info;
+       if (buf) {
+               memcpy (buf, cie_cfi, cie_cfi_len);
+               memcpy (buf + cie_cfi_len, fde_cfi, fde_cfi_len);
+       }
 
        res->unw_info_len = cie_cfi_len + fde_cfi_len;
-       res->unw_info = buf;
 }
 
 /*
index a1fac4ada5da4a212f1f63b2fb19e7cbbf072216..4fd859ac9fe8e05835b1be0283b4c40b2a3c0d0b 100644 (file)
@@ -132,6 +132,36 @@ sgen_card_table_wbarrier_generic_nostore (gpointer ptr)
        sgen_card_table_mark_address ((mword)ptr);      
 }
 
+static void
+sgen_card_table_wbarrier_range_copy (gpointer _dest, gpointer _src, int size)
+{
+       GCObject **dest = (GCObject **)_dest;
+       GCObject **src = (GCObject **)_src;
+
+       size_t nursery_bits = DEFAULT_NURSERY_BITS;
+       char *start = sgen_nursery_start;
+       G_GNUC_UNUSED char *end = sgen_nursery_end;
+
+       /*
+        * It's cardtable theory time!
+        * Our cardtable scanning code supports marking any card that an object/valuetype belongs to.
+        * This function is supposed to be used to copy a range that fully belongs to a single type.
+        * It must not be used, for example, to copy 2 adjacent VTs in an array.
+       */
+       volatile guint8 *card_address = (volatile guint8 *)sgen_card_table_get_card_address ((mword)dest);
+       while (size) {
+               GCObject *value = *src;
+               *dest = value;
+               if (SGEN_PTR_IN_NURSERY (value, nursery_bits, start, end) || concurrent_collection_in_progress) {
+                       *card_address = 1;
+                       sgen_dummy_use (value);
+               }
+               ++src;
+               ++dest;
+               size -= SIZEOF_VOID_P;
+       }
+}
+
 #ifdef SGEN_HAVE_OVERLAPPING_CARDS
 
 guint8 *sgen_shadow_cardtable;
@@ -576,6 +606,7 @@ sgen_card_table_init (SgenRememberedSet *remset)
 
        remset->find_address = sgen_card_table_find_address;
        remset->find_address_with_cards = sgen_card_table_find_address_with_cards;
+       remset->wbarrier_range_copy = sgen_card_table_wbarrier_range_copy;
 
        need_mod_union = sgen_get_major_collector ()->is_concurrent;
 }
index e30fb2d48090214a16fb1259298b8e4946bdcd13..7f1a8c3d39d912bb35d060f9131d139c41a60d19 100644 (file)
@@ -357,7 +357,7 @@ static volatile mword highest_heap_address = 0;
 MonoCoopMutex sgen_interruption_mutex;
 
 int current_collection_generation = -1;
-static volatile gboolean concurrent_collection_in_progress = FALSE;
+volatile gboolean concurrent_collection_in_progress = FALSE;
 
 /* objects that are ready to be finalized */
 static SgenPointerQueue fin_ready_queue = SGEN_POINTER_QUEUE_INIT (INTERNAL_MEM_FINALIZE_READY);
@@ -2910,21 +2910,9 @@ mono_gc_wbarrier_generic_store_atomic (gpointer ptr, GCObject *value)
 }
 
 void
-sgen_wbarrier_value_copy_bitmap (gpointer _dest, gpointer _src, int size, unsigned bitmap)
+sgen_wbarrier_range_copy (gpointer _dest, gpointer _src, int size)
 {
-       GCObject **dest = (GCObject **)_dest;
-       GCObject **src = (GCObject **)_src;
-
-       while (size) {
-               if (bitmap & 0x1)
-                       mono_gc_wbarrier_generic_store (dest, *src);
-               else
-                       *dest = *src;
-               ++src;
-               ++dest;
-               size -= SIZEOF_VOID_P;
-               bitmap >>= 1;
-       }
+       remset.wbarrier_range_copy (_dest,_src, size);
 }
 
 /*
index 8cf5a46fa500f40683e1d916f7a8ac08807c2349..db2e35a292fb19d7ddf161eac6c4058747fe9993 100644 (file)
@@ -714,6 +714,7 @@ typedef struct _SgenRememberedSet {
        void (*wbarrier_object_copy) (GCObject* obj, GCObject *src);
        void (*wbarrier_generic_nostore) (gpointer ptr);
        void (*record_pointer) (gpointer ptr);
+       void (*wbarrier_range_copy) (gpointer dest, gpointer src, int count);
 
        void (*start_scan_remsets) (void);
 
@@ -734,7 +735,7 @@ void mono_gc_wbarrier_generic_nostore (gpointer ptr);
 void mono_gc_wbarrier_generic_store (gpointer ptr, GCObject* value);
 void mono_gc_wbarrier_generic_store_atomic (gpointer ptr, GCObject *value);
 
-void sgen_wbarrier_value_copy_bitmap (gpointer _dest, gpointer _src, int size, unsigned bitmap);
+void sgen_wbarrier_range_copy (gpointer _dest, gpointer _src, int size);
 
 static inline SgenDescriptor
 sgen_obj_get_descriptor (GCObject *obj)
@@ -1003,6 +1004,7 @@ extern mword total_promoted_size;
 extern mword total_allocated_major;
 extern volatile gboolean sgen_suspend_finalizers;
 extern MonoCoopMutex gc_mutex;
+extern volatile gboolean concurrent_collection_in_progress;
 
 /* Nursery helpers. */
 
index 6b38d8d7e4bba9b3e3a299178a59963f1316acd1..abdbce8bd9d002dfed0fa40056d3adaf5507e3c1 100644 (file)
@@ -344,6 +344,7 @@ TESTS_CS_SRC=               \
        generic-static-methods.2.cs     \
        generic-null-call.2.cs  \
        generic-special.2.cs    \
+       generic-special2.2.cs   \
        generic-exceptions.2.cs \
        generic-virtual2.2.cs   \
        generic-valuetype-interface.2.cs        \
@@ -616,6 +617,7 @@ TESTS_GSHARED_SRC = \
        generic-tailcall2.2.cs                  \
        generic-array-exc.2.cs  \
        generic-special.2.cs                    \
+       generic-special2.2.cs   \
        generic-exceptions.2.cs \
        generic-delegate2.2.cs          \
        generic-virtual2.2.cs   \
@@ -817,7 +819,10 @@ PROFILE_DISABLED_TESTS += \
        call_missing_class.exe \
        ldfld_missing_field.exe \
        ldfld_missing_class.exe \
-       vt-sync-method.exe
+       vt-sync-method.exe \
+       resolve_method_bug.2.exe \
+       resolve_field_bug.2.exe \
+       resolve_type_bug.2.exe
 
 # Tests which rely on remoting
 PROFILE_DISABLED_TESTS += \
diff --git a/mono/tests/generic-special2.2.cs b/mono/tests/generic-special2.2.cs
new file mode 100644 (file)
index 0000000..625d873
--- /dev/null
@@ -0,0 +1,54 @@
+using System;
+using System.Reflection;
+using System.IO;
+using System.Collections.Generic;
+using System.Threading;
+
+internal class GenericType<T> {
+       [ThreadStatic]
+       internal static object static_var;
+
+       public static void AccessStaticVar ()
+       {
+               if (static_var != null && static_var.GetType () != typeof (List<T>))
+                       throw new Exception ("Corrupted static var");
+               GenericType<T>.static_var = new List<T> ();
+       }
+}
+
+public static class Program {
+       private static bool stress;
+
+       /* Create a lot of static vars */
+       private static void CreateVTables ()
+       {
+               Type[] nullArgs = new Type[0];
+               Assembly ass = Assembly.GetAssembly (typeof (int));
+               foreach (Type type in ass.GetTypes ()) {
+                       try {
+                               Type inst = typeof (GenericType<>).MakeGenericType (type);
+                               Activator.CreateInstance (inst);
+                       } catch {
+                       }
+               }
+       }
+
+       private static void StressStaticFieldAddr ()
+       {
+               while (stress) {
+                       GenericType<object>.AccessStaticVar ();
+               }
+       }
+
+       public static void Main (string[] args)
+       {
+               Thread thread = new Thread (StressStaticFieldAddr);
+
+               stress = true;
+               thread.Start ();
+               CreateVTables ();
+               stress = false;
+
+               thread.Join ();
+       }
+}
index 52e1b14888e7ec27f5e4e52003bd6254949ce1b5..11039d6b3f92c91c1623bf1b8320dfb78ea17e7c 100644 (file)
@@ -243,7 +243,6 @@ mono_dl_fallback_register
 mono_dl_fallback_unregister
 mono_dl_open
 mono_dllmap_insert
-mono_domain_add_class_static_data
 mono_domain_assembly_open
 mono_domain_create
 mono_domain_create_appdomain
index 5c238113281f6de1c55010c93701817d63d81c24..35df803f15aab6025e95ea2fa45abf1a397402ca 100644 (file)
@@ -243,7 +243,6 @@ mono_dl_fallback_register
 mono_dl_fallback_unregister
 mono_dl_open
 mono_dllmap_insert
-mono_domain_add_class_static_data
 mono_domain_assembly_open
 mono_domain_create
 mono_domain_create_appdomain
index cb90c4750b506f3adefddb9e907f0d86935e2ee9..ce84691e7a27429f82265f37a3b409cb89556bf4 100644 (file)
     </project>
     <project dir="class/corlib" library="corlib-net_4_x">
       <boot>true</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -nostdlib -nowarn:612,618,1635 -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,HAS_CORLIB_CONTRACTS -d:FEATURE_MACL -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib /debug:portable -optimize -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,HAS_CORLIB_CONTRACTS -d:FEATURE_MACL -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -resource:resources/charinfo.nlp -resource:resources/collation.core.bin -resource:resources/collation.tailoring.bin -resource:resources/collation.cjkCHS.bin -resource:resources/collation.cjkCHT.bin -resource:resources/collation.cjkJA.bin -resource:resources/collation.cjkKO.bin -resource:resources/collation.cjkKOlv2.bin -runtimemetadataversion:v4.0.30319 -d:MONO_FEATURE_CONSOLE -d:MONO_FEATURE_APPLETLS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -nostdlib -nowarn:612,618,1635 -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,HAS_CORLIB_CONTRACTS -d:FEATURE_MACL -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib /debug:portable -optimize -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,HAS_CORLIB_CONTRACTS -d:FEATURE_MACL -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -resource:resources/charinfo.nlp -resource:resources/collation.core.bin -resource:resources/collation.tailoring.bin -resource:resources/collation.cjkCHS.bin -resource:resources/collation.cjkCHT.bin -resource:resources/collation.cjkJA.bin -resource:resources/collation.cjkKO.bin -resource:resources/collation.cjkKOlv2.bin -runtimemetadataversion:v4.0.30319 -d:MONO_FEATURE_CONSOLE -d:MONO_FEATURE_APPLETLS</flags>
       <output>mscorlib.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mscorlib.dll</library_output>
       <fx_version>4.5</fx_version>
       <profile>net_4_x</profile>
       <resources></resources>
-      <response>corlib.dll.sources</response>
+      <response>./../../build/deps/net_4_x_corlib.dll.sources</response>
     </project>
     <project dir="class/corlib" library="corlib-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -nostdlib -nowarn:612,618,1635 -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,HAS_CORLIB_CONTRACTS -d:FEATURE_MACL -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib /debug:portable -optimize -r:./../../class/lib/net_4_x/mscorlib.dll -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -debug -nowarn:168,219,618,672 -unsafe -define:MONO_DATACONVERTER_STATIC_METHODS -resource:Test/resources/Resources.resources</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -nostdlib -nowarn:612,618,1635 -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC -d:FEATURE_PAL,GENERICS_WORK,FEATURE_LIST_PREDICATES,FEATURE_SERIALIZATION,FEATURE_ASCII,FEATURE_LATIN1,FEATURE_UTF7,FEATURE_UTF32,MONO_HYBRID_ENCODING_SUPPORT,FEATURE_ASYNC_IO,NEW_EXPERIMENTAL_ASYNC_IO,FEATURE_UTF32,FEATURE_EXCEPTIONDISPATCHINFO,FEATURE_CORRUPTING_EXCEPTIONS,FEATURE_EXCEPTION_NOTIFICATIONS,FEATURE_STRONGNAME_MIGRATION,FEATURE_USE_LCID,FEATURE_FUSION,FEATURE_CRYPTO,FEATURE_X509_SECURESTRINGS,FEATURE_SYNCHRONIZATIONCONTEXT,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT,HAS_CORLIB_CONTRACTS -d:FEATURE_MACL -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib /debug:portable -optimize -r:./../../class/lib/net_4_x/mscorlib.dll -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -debug -nowarn:168,219,618,672 -unsafe -define:MONO_DATACONVERTER_STATIC_METHODS -resource:Test/resources/Resources.resources</flags>
       <output>net_4_x_corlib_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_corlib_test.dll</library_output>
     </project>
     <project dir="class/Mono.Security" library="Mono.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:1030,3009 -r:./../../class/lib/net_4_x/bare/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:1030,3009 -r:./../../class/lib/net_4_x/bare/System.dll</flags>
       <output>Mono.Security.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Security.dll</library_output>
     </project>
     <project dir="class/Mono.Security" library="Mono.Security-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Security.dll -unsafe -nowarn:1030,3009 -r:./../../class/lib/net_4_x/bare/System.dll -nowarn:169,219,618,672</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Security.dll -unsafe -nowarn:1030,3009 -r:./../../class/lib/net_4_x/bare/System.dll -nowarn:169,219,618,672</flags>
       <output>net_4_x_Mono.Security_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Security_test.dll</library_output>
     </project>
     <project dir="class/System" library="System-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -nowarn:436 -d:CODEDOM -d:MONO_FEATURE_APPLETLS -d:MONO_FEATURE_BTLS -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -nowarn:436 -d:CODEDOM -d:MONO_FEATURE_APPLETLS -d:MONO_FEATURE_BTLS -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
       <output>net_4_x_System_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System_test.dll</library_output>
     </project>
     <project dir="class/System" library="System-bare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -nowarn:436 -d:CODEDOM -d:MONO_FEATURE_APPLETLS -d:MONO_FEATURE_BTLS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -nowarn:436 -d:CODEDOM -d:MONO_FEATURE_APPLETLS -d:MONO_FEATURE_BTLS</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/bare/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
       <output>net_4_x_System_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System_test.dll</library_output>
     </project>
     <project dir="class/System" library="System-secxml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -nowarn:436 -d:CODEDOM -d:MONO_FEATURE_APPLETLS -d:MONO_FEATURE_BTLS -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -nowarn:436 -d:CODEDOM -d:MONO_FEATURE_APPLETLS -d:MONO_FEATURE_BTLS -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/secxml/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
       <output>net_4_x_System_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System_test.dll</library_output>
     </project>
     <project dir="class/System.XML" library="System.Xml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:219,414,649,1717 -unsafe -d:ASYNC -d:CONFIGURATION_DEP -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:219,414,649,1717 -unsafe -d:ASYNC -d:CONFIGURATION_DEP -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Xml.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Xml.dll</library_output>
     </project>
     <project dir="class/System.XML" library="System.Xml-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/bare/System.Xml.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:./../../class/lib/net_4_x/bare/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/bare/System.Xml.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:./../../class/lib/net_4_x/bare/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.Xml_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Xml_test.dll</library_output>
     </project>
     <project dir="class/System.XML" library="System.Xml-bare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:./../../class/lib/net_4_x/bare/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:./../../class/lib/net_4_x/bare/System.dll</flags>
       <output>System.Xml.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/bare/System.Xml.dll</library_output>
     </project>
     <project dir="class/System.XML" library="System.Xml-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/bare/System.Xml.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:./../../class/lib/net_4_x/bare/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/bare/System.Xml.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:./../../class/lib/net_4_x/bare/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.Xml_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Xml_test.dll</library_output>
     </project>
     <project dir="class/Mono.CompilerServices.SymbolWriter" library="Mono.CompilerServices.SymbolWriter-net_4_x">
       <boot>true</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.CompilerServices.SymbolWriter.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.CompilerServices.SymbolWriter.dll</library_output>
     </project>
     <project dir="class/Mono.Posix" library="Mono.Posix-net_4_x">
       <boot>true</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe /nowarn:0618,612 -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe /nowarn:0618,612 -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.Posix.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Posix.dll</library_output>
     </project>
     <project dir="class/Mono.Posix" library="Mono.Posix-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Posix.dll /unsafe /nowarn:0219,0618</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Posix.dll /unsafe /nowarn:0219,0618</flags>
       <output>net_4_x_Mono.Posix_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Posix_test.dll</library_output>
     </project>
     <project dir="class/System.Core" library="System.Core-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -nowarn:436 -d:NET_3_5 -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER,FEATURE_PDB_GENERATOR -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -nowarn:436 -d:NET_3_5 -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER,FEATURE_PDB_GENERATOR -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll</flags>
       <output>System.Core.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Core.dll</library_output>
     </project>
     <project dir="class/System.Core" library="System.Core-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -nowarn:436 -d:NET_3_5 -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER,FEATURE_PDB_GENERATOR -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -nowarn:436 -d:NET_3_5 -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER,FEATURE_PDB_GENERATOR -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll</flags>
       <output>net_4_x_System.Core_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Core_test.dll</library_output>
     </project>
     <project dir="class/System.Security" library="System.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -d:SECURITY_DEP -nowarn:414 -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -d:SECURITY_DEP -nowarn:414 -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>System.Security.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Security.dll</library_output>
     </project>
     <project dir="class/System.Security" library="System.Security-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Security.dll -nowarn:618 -d:SECURITY_DEP -nowarn:414 -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -nowarn:168,169,183,219,414</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Security.dll -nowarn:618 -d:SECURITY_DEP -nowarn:414 -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -nowarn:168,169,183,219,414</flags>
       <output>net_4_x_System.Security_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Security_test.dll</library_output>
     </project>
     <project dir="class/System.Configuration" library="System.Configuration-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/secxml/System.dll -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll</flags>
       <output>System.Configuration.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Configuration.dll</library_output>
     </project>
     <project dir="class/System.Configuration" library="System.Configuration-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>net_4_x_System.Configuration_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Configuration_test.dll</library_output>
     </project>
     <project dir="class/System.Drawing" library="System.Drawing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -resource:Assembly/Mono.ico,Mono.ico -resource:Assembly/Information.ico,Information.ico -resource:Assembly/Error.ico,Error.ico -resource:Assembly/Warning.ico,Warning.ico -resource:Assembly/Question.ico,Question.ico -resource:Assembly/Shield.ico,Shield.ico -d:FEATURE_TYPECONVERTER,SUPPORTS_WINDOWS_COLORS -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -resource:Assembly/Mono.ico,Mono.ico -resource:Assembly/Information.ico,Information.ico -resource:Assembly/Error.ico,Error.ico -resource:Assembly/Warning.ico,Warning.ico -resource:Assembly/Question.ico,Question.ico -resource:Assembly/Shield.ico,Shield.ico -d:FEATURE_TYPECONVERTER,SUPPORTS_WINDOWS_COLORS -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Drawing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Drawing.dll</library_output>
     </project>
     <project dir="class/System.Drawing" library="System.Drawing-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Drawing.dll /unsafe -resource:Assembly/Mono.ico,Mono.ico -resource:Assembly/Information.ico,Information.ico -resource:Assembly/Error.ico,Error.ico -resource:Assembly/Warning.ico,Warning.ico -resource:Assembly/Question.ico,Question.ico -resource:Assembly/Shield.ico,Shield.ico -d:FEATURE_TYPECONVERTER,SUPPORTS_WINDOWS_COLORS -r:./../../class/lib/net_4_x/System.dll -define:TEST -resource:Test/resources/indexed.png,indexed.png -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Drawing.dll /unsafe -resource:Assembly/Mono.ico,Mono.ico -resource:Assembly/Information.ico,Information.ico -resource:Assembly/Error.ico,Error.ico -resource:Assembly/Warning.ico,Warning.ico -resource:Assembly/Question.ico,Question.ico -resource:Assembly/Shield.ico,Shield.ico -d:FEATURE_TYPECONVERTER,SUPPORTS_WINDOWS_COLORS -r:./../../class/lib/net_4_x/System.dll -define:TEST -resource:Test/resources/indexed.png,indexed.png -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.Drawing_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Drawing_test.dll</library_output>
     </project>
     <project dir="class/System.IO.Compression" library="System.IO.Compression-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.Compression.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.IO.Compression.dll</library_output>
     </project>
     <project dir="class/System.IO.Compression" library="System.IO.Compression-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.IO.Compression.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.IO.Compression.dll</flags>
       <output>net_4_x_System.IO.Compression_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.IO.Compression_test.dll</library_output>
     </project>
     <project dir="class/System.IO.Compression.FileSystem" library="System.IO.Compression.FileSystem-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.IO.Compression.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.IO.Compression.dll</flags>
       <output>System.IO.Compression.FileSystem.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll</library_output>
     </project>
     <project dir="class/System.IO.Compression.FileSystem" library="System.IO.Compression.FileSystem-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll</flags>
       <output>net_4_x_System.IO.Compression.FileSystem_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.IO.Compression.FileSystem_test.dll</library_output>
     </project>
     <project dir="class/System.Transactions" library="System.Transactions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Transactions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Transactions.dll</library_output>
     </project>
     <project dir="class/System.Transactions" library="System.Transactions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>net_4_x_System.Transactions_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Transactions_test.dll</library_output>
     </project>
     <project dir="class/System.EnterpriseServices" library="System.EnterpriseServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:0168 /nowarn:0162 -r:./../../class/lib/net_4_x/System.Transactions.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:0168 /nowarn:0162 -r:./../../class/lib/net_4_x/System.Transactions.dll</flags>
       <output>System.EnterpriseServices.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.EnterpriseServices.dll</library_output>
     </project>
     <project dir="class/Mono.Data.Tds" library="Mono.Data.Tds-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>Mono.Data.Tds.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Data.Tds.dll</library_output>
     </project>
     <project dir="class/Mono.Data.Tds" library="Mono.Data.Tds-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll</flags>
       <output>net_4_x_Mono.Data.Tds_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Data.Tds_test.dll</library_output>
     </project>
     <project dir="class/System.Numerics" library="System.Numerics-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Numerics.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Numerics.dll</library_output>
     </project>
     <project dir="class/System.Numerics" library="System.Numerics-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Numerics.dll /unsafe -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Numerics.dll /unsafe -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>net_4_x_System.Numerics_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Numerics_test.dll</library_output>
     </project>
     <project dir="class/System.Numerics.Vectors" library="System.Numerics.Vectors-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Numerics.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Numerics.dll</flags>
       <output>System.Numerics.Vectors.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Numerics.Vectors.dll</library_output>
     </project>
     <project dir="class/System.Data" library="System.Data-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:219,414,649 -d:COREFX -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Numerics.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Transactions.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:219,414,649 -d:COREFX -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Numerics.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Transactions.dll</flags>
       <output>System.Data.dll</output>
       <built_sources>gen_OdbcConnection.cs gen_OleDbConnection.cs gen_OdbcParameter.cs gen_OleDbParameter.cs gen_OdbcParameterCollection.cs gen_OleDbParameterCollection.cs</built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.dll</library_output>
     </project>
     <project dir="class/System.Data" library="System.Data-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.dll -nowarn:219,414,649 -d:COREFX -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Numerics.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -nowarn:618,169,612,219,168</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.dll -nowarn:219,414,649 -d:COREFX -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Numerics.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -nowarn:618,169,612,219,168</flags>
       <output>net_4_x_System.Data_test.dll</output>
       <built_sources>gen_OdbcConnection.cs gen_OleDbConnection.cs gen_OdbcParameter.cs gen_OleDbParameter.cs gen_OdbcParameterCollection.cs gen_OleDbParameterCollection.cs</built_sources>
       <library_output>net_4_x_System.Data_test.dll</library_output>
     </project>
     <project dir="class/System.ComponentModel.DataAnnotations" library="System.ComponentModel.DataAnnotations-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.ComponentModel.DataAnnotations.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll</library_output>
     </project>
     <project dir="class/System.ComponentModel.DataAnnotations" library="System.ComponentModel.DataAnnotations-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>net_4_x_System.ComponentModel.DataAnnotations_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.ComponentModel.DataAnnotations_test.dll</library_output>
     </project>
     <project dir="class/Accessibility" library="Accessibility-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
       <output>Accessibility.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Accessibility.dll</library_output>
     </project>
     <project dir="class/Mono.WebBrowser" library="Mono.WebBrowser-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:1 -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:1 -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.WebBrowser.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.WebBrowser.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Serialization.Formatters.Soap" library="System.Runtime.Serialization.Formatters.Soap-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Runtime.Serialization.Formatters.Soap.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Serialization.Formatters.Soap" library="System.Runtime.Serialization.Formatters.Soap-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.Xml.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.Xml.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.Runtime.Serialization.Formatters.Soap_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Runtime.Serialization.Formatters.Soap_test.dll</library_output>
     </project>
     <project dir="class/System.Windows.Forms" library="System.Windows.Forms-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe @System.Windows.Forms.dll.resources -nowarn:618,612,809 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/Accessibility.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll -r:./../../class/lib/net_4_x/Mono.WebBrowser.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe @System.Windows.Forms.dll.resources -nowarn:618,612,809 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/Accessibility.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll -r:./../../class/lib/net_4_x/Mono.WebBrowser.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll</flags>
       <output>System.Windows.Forms.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Windows.Forms.dll</library_output>
     </project>
     <project dir="class/System.Windows.Forms" library="System.Windows.Forms-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -resource:Test/resources/a.cur,a.cur -resource:Test/resources/32x32.ico,32x32.ico -nowarn:618,612</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -resource:Test/resources/a.cur,a.cur -resource:Test/resources/32x32.ico,32x32.ico -nowarn:618,612</flags>
       <output>net_4_x_System.Windows.Forms_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Windows.Forms_test.dll</library_output>
     </project>
     <project dir="class/Mono.Data.Sqlite" library="Mono.Data.Sqlite-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -resource:resources/SR.resources -resource:resources/SQLiteCommand.bmp -resource:resources/SQLiteConnection.bmp -resource:resources/SQLiteDataAdapter.bmp -d:SQLITE_STANDARD -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -resource:resources/SR.resources -resource:resources/SQLiteCommand.bmp -resource:resources/SQLiteConnection.bmp -resource:resources/SQLiteDataAdapter.bmp -d:SQLITE_STANDARD -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>Mono.Data.Sqlite.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Data.Sqlite.dll</library_output>
     </project>
     <project dir="class/Mono.Data.Sqlite" library="Mono.Data.Sqlite-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll /unsafe -resource:resources/SR.resources -resource:resources/SQLiteCommand.bmp -resource:resources/SQLiteConnection.bmp -resource:resources/SQLiteDataAdapter.bmp -d:SQLITE_STANDARD -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Xml.dll /nowarn:618</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll /unsafe -resource:resources/SR.resources -resource:resources/SQLiteCommand.bmp -resource:resources/SQLiteConnection.bmp -resource:resources/SQLiteDataAdapter.bmp -d:SQLITE_STANDARD -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Xml.dll /nowarn:618</flags>
       <output>net_4_x_Mono.Data.Sqlite_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Data.Sqlite_test.dll</library_output>
     </project>
     <project dir="class/System.Web.ApplicationServices" library="System.Web.ApplicationServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:SYSTEM_WEB_APPLICATIONSERVICES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:SYSTEM_WEB_APPLICATIONSERVICES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Web.ApplicationServices.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</library_output>
     </project>
     <project dir="class/Novell.Directory.Ldap" library="Novell.Directory.Ldap-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:1 -nowarn:612 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:1 -nowarn:612 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>Novell.Directory.Ldap.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</library_output>
     </project>
     <project dir="class/Novell.Directory.Ldap" library="Novell.Directory.Ldap-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</flags>
       <output>net_4_x_Novell.Directory.Ldap_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Novell.Directory.Ldap_test.dll</library_output>
     </project>
     <project dir="class/System.DirectoryServices" library="System.DirectoryServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</flags>
       <output>System.DirectoryServices.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.DirectoryServices.dll</library_output>
     </project>
     <project dir="class/System.DirectoryServices" library="System.DirectoryServices-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.DirectoryServices_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.DirectoryServices_test.dll</library_output>
     </project>
     <project dir="class/System.Web" library="System.Web-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -define:WEBSERVICES_DEP -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -define:WEBSERVICES_DEP -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll</flags>
       <output>System.Web.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.dll</library_output>
     </project>
     <project dir="class/System.Web" library="System.Web-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll -doc:net_4_x_System.Web_test.xml -nowarn:219,169,1591 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.4.0 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap /resource:Test/mainsoft/NunitWebResources/menuclass.aspx /resource:Test/mainsoft/NunitWebResources/FormView.aspx /resource:Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx /resource:Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx /resource:Test/mainsoft/NunitWebResources/PageWithTheme.aspx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.ascx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.aspx /resource:Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx /resource:Test/mainsoft/NunitWebResources/Theme1.skin /resource:Test/mainsoft/NunitWebResources/Theme2.skin /resource:Test/mainsoft/NunitWebResources/UrlProperty.aspx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs /resource:Test/mainsoft/NunitWebResources/Web.sitemap /resource:Test/mainsoft/NunitWebResources/WizardTest.skin /resource:Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx /resource:Test/mainsoft/NunitWebResources/DataGrid.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_2.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_3.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx /resource:Test/mainsoft/NunitWebResources/Bluehills.jpg /resource:Test/mainsoft/NunitWebResources/FormViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_2.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_3.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_4.aspx /resource:Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx /resource:Test/mainsoft/NunitWebResources/GridViewUpdate.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx /resource:Test/mainsoft/NunitWebResources/LoginViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/WebControl.config /resource:Test/mainsoft/NunitWebResources/WebLogin.config /resource:Test/mainsoft/NunitWebResources/CallbackTest1.aspx /resource:Test/mainsoft/NunitWebResources/CallbackTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest1.aspx /resource:Test/mainsoft/NunitWebResources/ClientScript.js /resource:Test/mainsoft/NunitWebResources/EvalTest.aspx /resource:Test/mainsoft/NunitWebResources/TemplateUserControl.ascx /resource:Test/mainsoft/NunitWebResources/WebMapping.config /resource:Test/mainsoft/NunitWebResources/Mapping.aspx /resource:Test/mainsoft/NunitWebResources/Mapping1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx /resource:Test/mainsoft/NunitWebResources/MyDerived.master /resource:Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx /resource:Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx /resource:Test/mainsoft/NunitWebResources/PageValidationTest.aspx /resource:Test/mainsoft/NunitWebResources/AsyncPage.aspx /resource:Test/mainsoft/NunitWebResources/PageCultureTest.aspx /resource:Test/mainsoft/NunitWebResources/adapters.browser /resource:Test/mainsoft/NunitWebResources/NoEventValidation.aspx /resource:Test/mainsoft/NunitWebResources/ListControlPage.aspx /resource:Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx /resource:Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx /resource:Test/mainsoft/NunitWebResources/RedirectOnError.aspx /resource:Test/mainsoft/NunitWebResources/TestCapability.browser /resource:Test/mainsoft/NunitWebResources/PageWithAdapter.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx /resource:Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx /resource:Test/mainsoft/MainsoftWebTest/nunitweb_config.xml /resource:Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master /resource:Test/mainsoft/NunitWebResources/MissingMasterFile.aspx /resource:Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs /resource:Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx /resource:Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx /resource:Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx /resource:Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx /resource:Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx /resource:Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx /resource:Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx /resource:Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx /resource:Test/mainsoft/NunitWebResources/FullTagsInText.aspx /resource:Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx /resource:Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx /resource:Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx /resource:Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx /resource:Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx /resource:Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx /resource:Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs /resource:Test/mainsoft/NunitWebResources/NestedParserFileText.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CorrectConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs /resource:Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx /resource:Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx /resource:Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx /resource:Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx /resource:Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx /resource:Test/mainsoft/NunitWebResources/FormViewPagerVisibility.aspx /resource:Test/mainsoft/NunitWebResources/OverridenControlsPropertyAndPostBack_Bug594238.aspx /resource:Test/mainsoft/NunitWebResources/GlobalizationEncodingName.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_0.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_5.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_6.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_7.aspx /resource:Test/mainsoft/NunitWebResources/GridView_Bug595567.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug600415.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx.cs /resource:Test/mainsoft/NunitWebResources/HtmlTitleCodeRender_Bug662918.aspx /resource:Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs,App_Code/EnumConverterControl.cs /resource:Test/mainsoft/NunitWebResources/App_Code/MyContainer.cs,App_Code/MyContainer.cs /resource:Test/mainsoft/NunitWebResources/App_Code/CustomCheckBoxColumn.cs,App_Code/CustomCheckBoxColumn.cs /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx,App_GlobalResources/Common.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx,App_GlobalResources/Common.fr-FR.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx,App_GlobalResources/Resource1.resx</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll -doc:net_4_x_System.Web_test.xml -nowarn:219,169,1591 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.4.0 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap /resource:Test/mainsoft/NunitWebResources/menuclass.aspx /resource:Test/mainsoft/NunitWebResources/FormView.aspx /resource:Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx /resource:Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx /resource:Test/mainsoft/NunitWebResources/PageWithTheme.aspx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.ascx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.aspx /resource:Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx /resource:Test/mainsoft/NunitWebResources/Theme1.skin /resource:Test/mainsoft/NunitWebResources/Theme2.skin /resource:Test/mainsoft/NunitWebResources/UrlProperty.aspx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs /resource:Test/mainsoft/NunitWebResources/Web.sitemap /resource:Test/mainsoft/NunitWebResources/WizardTest.skin /resource:Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx /resource:Test/mainsoft/NunitWebResources/DataGrid.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_2.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_3.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx /resource:Test/mainsoft/NunitWebResources/Bluehills.jpg /resource:Test/mainsoft/NunitWebResources/FormViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_2.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_3.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_4.aspx /resource:Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx /resource:Test/mainsoft/NunitWebResources/GridViewUpdate.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx /resource:Test/mainsoft/NunitWebResources/LoginViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/WebControl.config /resource:Test/mainsoft/NunitWebResources/WebLogin.config /resource:Test/mainsoft/NunitWebResources/CallbackTest1.aspx /resource:Test/mainsoft/NunitWebResources/CallbackTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest1.aspx /resource:Test/mainsoft/NunitWebResources/ClientScript.js /resource:Test/mainsoft/NunitWebResources/EvalTest.aspx /resource:Test/mainsoft/NunitWebResources/TemplateUserControl.ascx /resource:Test/mainsoft/NunitWebResources/WebMapping.config /resource:Test/mainsoft/NunitWebResources/Mapping.aspx /resource:Test/mainsoft/NunitWebResources/Mapping1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx /resource:Test/mainsoft/NunitWebResources/MyDerived.master /resource:Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx /resource:Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx /resource:Test/mainsoft/NunitWebResources/PageValidationTest.aspx /resource:Test/mainsoft/NunitWebResources/AsyncPage.aspx /resource:Test/mainsoft/NunitWebResources/PageCultureTest.aspx /resource:Test/mainsoft/NunitWebResources/adapters.browser /resource:Test/mainsoft/NunitWebResources/NoEventValidation.aspx /resource:Test/mainsoft/NunitWebResources/ListControlPage.aspx /resource:Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx /resource:Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx /resource:Test/mainsoft/NunitWebResources/RedirectOnError.aspx /resource:Test/mainsoft/NunitWebResources/TestCapability.browser /resource:Test/mainsoft/NunitWebResources/PageWithAdapter.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx /resource:Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx /resource:Test/mainsoft/MainsoftWebTest/nunitweb_config.xml /resource:Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master /resource:Test/mainsoft/NunitWebResources/MissingMasterFile.aspx /resource:Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs /resource:Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx /resource:Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx /resource:Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx /resource:Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx /resource:Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx /resource:Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx /resource:Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx /resource:Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx /resource:Test/mainsoft/NunitWebResources/FullTagsInText.aspx /resource:Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx /resource:Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx /resource:Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx /resource:Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx /resource:Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx /resource:Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx /resource:Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs /resource:Test/mainsoft/NunitWebResources/NestedParserFileText.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CorrectConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs /resource:Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx /resource:Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx /resource:Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx /resource:Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx /resource:Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx /resource:Test/mainsoft/NunitWebResources/FormViewPagerVisibility.aspx /resource:Test/mainsoft/NunitWebResources/OverridenControlsPropertyAndPostBack_Bug594238.aspx /resource:Test/mainsoft/NunitWebResources/GlobalizationEncodingName.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_0.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_5.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_6.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_7.aspx /resource:Test/mainsoft/NunitWebResources/GridView_Bug595567.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug600415.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx.cs /resource:Test/mainsoft/NunitWebResources/HtmlTitleCodeRender_Bug662918.aspx /resource:Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs,App_Code/EnumConverterControl.cs /resource:Test/mainsoft/NunitWebResources/App_Code/MyContainer.cs,App_Code/MyContainer.cs /resource:Test/mainsoft/NunitWebResources/App_Code/CustomCheckBoxColumn.cs,App_Code/CustomCheckBoxColumn.cs /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx,App_GlobalResources/Common.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx,App_GlobalResources/Common.fr-FR.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx,App_GlobalResources/Resource1.resx</flags>
       <output>net_4_x_System.Web_test.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
       <library_output>net_4_x_System.Web_test.dll</library_output>
     </project>
     <project dir="class/System.Web" library="System.Web-plainweb-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll</flags>
       <output>System.Web.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
       <library_output>./../../class/lib/net_4_x/plainweb/System.Web.dll</library_output>
     </project>
     <project dir="class/System.Web" library="System.Web-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll -doc:net_4_x_System.Web_test.xml -nowarn:219,169,1591 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.4.0 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap /resource:Test/mainsoft/NunitWebResources/menuclass.aspx /resource:Test/mainsoft/NunitWebResources/FormView.aspx /resource:Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx /resource:Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx /resource:Test/mainsoft/NunitWebResources/PageWithTheme.aspx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.ascx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.aspx /resource:Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx /resource:Test/mainsoft/NunitWebResources/Theme1.skin /resource:Test/mainsoft/NunitWebResources/Theme2.skin /resource:Test/mainsoft/NunitWebResources/UrlProperty.aspx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs /resource:Test/mainsoft/NunitWebResources/Web.sitemap /resource:Test/mainsoft/NunitWebResources/WizardTest.skin /resource:Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx /resource:Test/mainsoft/NunitWebResources/DataGrid.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_2.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_3.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx /resource:Test/mainsoft/NunitWebResources/Bluehills.jpg /resource:Test/mainsoft/NunitWebResources/FormViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_2.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_3.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_4.aspx /resource:Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx /resource:Test/mainsoft/NunitWebResources/GridViewUpdate.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx /resource:Test/mainsoft/NunitWebResources/LoginViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/WebControl.config /resource:Test/mainsoft/NunitWebResources/WebLogin.config /resource:Test/mainsoft/NunitWebResources/CallbackTest1.aspx /resource:Test/mainsoft/NunitWebResources/CallbackTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest1.aspx /resource:Test/mainsoft/NunitWebResources/ClientScript.js /resource:Test/mainsoft/NunitWebResources/EvalTest.aspx /resource:Test/mainsoft/NunitWebResources/TemplateUserControl.ascx /resource:Test/mainsoft/NunitWebResources/WebMapping.config /resource:Test/mainsoft/NunitWebResources/Mapping.aspx /resource:Test/mainsoft/NunitWebResources/Mapping1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx /resource:Test/mainsoft/NunitWebResources/MyDerived.master /resource:Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx /resource:Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx /resource:Test/mainsoft/NunitWebResources/PageValidationTest.aspx /resource:Test/mainsoft/NunitWebResources/AsyncPage.aspx /resource:Test/mainsoft/NunitWebResources/PageCultureTest.aspx /resource:Test/mainsoft/NunitWebResources/adapters.browser /resource:Test/mainsoft/NunitWebResources/NoEventValidation.aspx /resource:Test/mainsoft/NunitWebResources/ListControlPage.aspx /resource:Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx /resource:Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx /resource:Test/mainsoft/NunitWebResources/RedirectOnError.aspx /resource:Test/mainsoft/NunitWebResources/TestCapability.browser /resource:Test/mainsoft/NunitWebResources/PageWithAdapter.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx /resource:Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx /resource:Test/mainsoft/MainsoftWebTest/nunitweb_config.xml /resource:Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master /resource:Test/mainsoft/NunitWebResources/MissingMasterFile.aspx /resource:Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs /resource:Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx /resource:Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx /resource:Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx /resource:Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx /resource:Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx /resource:Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx /resource:Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx /resource:Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx /resource:Test/mainsoft/NunitWebResources/FullTagsInText.aspx /resource:Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx /resource:Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx /resource:Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx /resource:Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx /resource:Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx /resource:Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx /resource:Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs /resource:Test/mainsoft/NunitWebResources/NestedParserFileText.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CorrectConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs /resource:Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx /resource:Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx /resource:Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx /resource:Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx /resource:Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx /resource:Test/mainsoft/NunitWebResources/FormViewPagerVisibility.aspx /resource:Test/mainsoft/NunitWebResources/OverridenControlsPropertyAndPostBack_Bug594238.aspx /resource:Test/mainsoft/NunitWebResources/GlobalizationEncodingName.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_0.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_5.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_6.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_7.aspx /resource:Test/mainsoft/NunitWebResources/GridView_Bug595567.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug600415.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx.cs /resource:Test/mainsoft/NunitWebResources/HtmlTitleCodeRender_Bug662918.aspx /resource:Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs,App_Code/EnumConverterControl.cs /resource:Test/mainsoft/NunitWebResources/App_Code/MyContainer.cs,App_Code/MyContainer.cs /resource:Test/mainsoft/NunitWebResources/App_Code/CustomCheckBoxColumn.cs,App_Code/CustomCheckBoxColumn.cs /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx,App_GlobalResources/Common.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx,App_GlobalResources/Common.fr-FR.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx,App_GlobalResources/Resource1.resx</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -unsafe -nowarn:612,618 -d:INSIDE_SYSTEM_WEB -nowarn:436,618 /resource:resources/WebUIValidation.js /resource:resources/folder.gif /resource:resources/file.gif /resource:resources/computer.gif /resource:resources/arrow_minus.gif /resource:resources/arrow_noexpand.gif /resource:resources/arrow_plus.gif /resource:resources/arrow_up.gif /resource:resources/arrow_down.gif /resource:resources/box_full.gif /resource:resources/box_empty.gif /resource:resources/box_minus.gif /resource:resources/box_noexpand.gif /resource:resources/box_plus.gif /resource:resources/contact.gif /resource:resources/dot_empty.gif /resource:resources/dot_full.gif /resource:resources/dots.gif /resource:resources/inbox.gif /resource:resources/star_empty.gif /resource:resources/star_full.gif /resource:resources/warning.gif /resource:resources/TreeView_noexpand.gif /resource:resources/TreeView_dash.gif /resource:resources/TreeView_dashminus.gif /resource:resources/TreeView_dashplus.gif /resource:resources/TreeView_i.gif /resource:resources/TreeView_l.gif /resource:resources/TreeView_lminus.gif /resource:resources/TreeView_lplus.gif /resource:resources/TreeView_minus.gif /resource:resources/TreeView_plus.gif /resource:resources/TreeView_r.gif /resource:resources/TreeView_rminus.gif /resource:resources/TreeView_rplus.gif /resource:resources/TreeView_t.gif /resource:resources/TreeView_tminus.gif /resource:resources/TreeView_tplus.gif /resource:resources/transparent.gif /resource:resources/webform.js /resource:resources/WebUIValidation_2.0.js /resource:resources/ErrorTemplateCommon_Top.html /resource:resources/DefaultErrorTemplate_CustomErrorDefault.html /resource:resources/ErrorTemplateCommon_Bottom.html /resource:resources/DefaultErrorTemplate_StandardPage.html /resource:resources/HtmlizedExceptionPage_Top.html /resource:resources/HtmlizedExceptionPage_FileLongSource.html /resource:resources/HtmlizedExceptionPage_FileShortSource.html /resource:resources/HtmlizedExceptionPage_CompilerOutput.html /resource:System.Web.UI.WebControls/GridView.js /resource:System.Web.UI.WebControls/DetailsView.js /resource:System.Web.UI.WebControls/TreeView.js /resource:System.Web.UI.WebControls/Menu.js /resource:System.Web.UI.WebControls/MenuModern.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/Mono.Data.Sqlite.dll -doc:net_4_x_System.Web_test.xml -nowarn:219,169,1591 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.4.0 /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap /resource:Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap /resource:Test/mainsoft/NunitWebResources/menuclass.aspx /resource:Test/mainsoft/NunitWebResources/FormView.aspx /resource:Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx /resource:Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx /resource:Test/mainsoft/NunitWebResources/PageWithTheme.aspx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.ascx /resource:Test/mainsoft/NunitWebResources/ResolveUrl.aspx /resource:Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx /resource:Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx /resource:Test/mainsoft/NunitWebResources/Theme1.skin /resource:Test/mainsoft/NunitWebResources/Theme2.skin /resource:Test/mainsoft/NunitWebResources/UrlProperty.aspx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx /resource:Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs /resource:Test/mainsoft/NunitWebResources/Web.sitemap /resource:Test/mainsoft/NunitWebResources/WizardTest.skin /resource:Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx /resource:Test/mainsoft/NunitWebResources/DataGrid.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_2.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewTemplates_3.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx /resource:Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx /resource:Test/mainsoft/NunitWebResources/Bluehills.jpg /resource:Test/mainsoft/NunitWebResources/FormViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_2.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_3.aspx /resource:Test/mainsoft/NunitWebResources/FormViewTest1_4.aspx /resource:Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx /resource:Test/mainsoft/NunitWebResources/GridViewUpdate.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx /resource:Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx /resource:Test/mainsoft/NunitWebResources/LoginViewTest1.aspx /resource:Test/mainsoft/NunitWebResources/WebControl.config /resource:Test/mainsoft/NunitWebResources/WebLogin.config /resource:Test/mainsoft/NunitWebResources/CallbackTest1.aspx /resource:Test/mainsoft/NunitWebResources/CallbackTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest2.aspx /resource:Test/mainsoft/NunitWebResources/EventValidationTest1.aspx /resource:Test/mainsoft/NunitWebResources/ClientScript.js /resource:Test/mainsoft/NunitWebResources/EvalTest.aspx /resource:Test/mainsoft/NunitWebResources/TemplateUserControl.ascx /resource:Test/mainsoft/NunitWebResources/WebMapping.config /resource:Test/mainsoft/NunitWebResources/Mapping.aspx /resource:Test/mainsoft/NunitWebResources/Mapping1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx /resource:Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx /resource:Test/mainsoft/NunitWebResources/MyDerived.master /resource:Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx /resource:Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx /resource:Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx /resource:Test/mainsoft/NunitWebResources/PageValidationTest.aspx /resource:Test/mainsoft/NunitWebResources/AsyncPage.aspx /resource:Test/mainsoft/NunitWebResources/PageCultureTest.aspx /resource:Test/mainsoft/NunitWebResources/adapters.browser /resource:Test/mainsoft/NunitWebResources/NoEventValidation.aspx /resource:Test/mainsoft/NunitWebResources/ListControlPage.aspx /resource:Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx /resource:Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx /resource:Test/mainsoft/NunitWebResources/RedirectOnError.aspx /resource:Test/mainsoft/NunitWebResources/TestCapability.browser /resource:Test/mainsoft/NunitWebResources/PageWithAdapter.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx /resource:Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx /resource:Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx /resource:Test/mainsoft/MainsoftWebTest/nunitweb_config.xml /resource:Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx /resource:Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master /resource:Test/mainsoft/NunitWebResources/MissingMasterFile.aspx /resource:Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx /resource:Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs /resource:Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx /resource:Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx /resource:Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx /resource:Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx /resource:Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx /resource:Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx /resource:Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx /resource:Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx /resource:Test/mainsoft/NunitWebResources/FullTagsInText.aspx /resource:Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx /resource:Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx /resource:Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx /resource:Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx /resource:Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx /resource:Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx /resource:Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx /resource:Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs /resource:Test/mainsoft/NunitWebResources/NestedParserFileText.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CorrectConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx /resource:Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs /resource:Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx /resource:Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx /resource:Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx /resource:Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx /resource:Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx /resource:Test/mainsoft/NunitWebResources/FormViewPagerVisibility.aspx /resource:Test/mainsoft/NunitWebResources/OverridenControlsPropertyAndPostBack_Bug594238.aspx /resource:Test/mainsoft/NunitWebResources/GlobalizationEncodingName.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_0.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_1.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_2.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_5.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_6.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxField_Bug595568_7.aspx /resource:Test/mainsoft/NunitWebResources/GridView_Bug595567.aspx /resource:Test/mainsoft/NunitWebResources/CheckBoxList_Bug600415.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx /resource:Test/mainsoft/NunitWebResources/BoundField_Bug646505.aspx.cs /resource:Test/mainsoft/NunitWebResources/HtmlTitleCodeRender_Bug662918.aspx /resource:Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs,App_Code/EnumConverterControl.cs /resource:Test/mainsoft/NunitWebResources/App_Code/MyContainer.cs,App_Code/MyContainer.cs /resource:Test/mainsoft/NunitWebResources/App_Code/CustomCheckBoxColumn.cs,App_Code/CustomCheckBoxColumn.cs /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx,App_GlobalResources/Common.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx,App_GlobalResources/Common.fr-FR.resx /resource:Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx,App_GlobalResources/Resource1.resx</flags>
       <output>net_4_x_System.Web_test.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
       <library_output>net_4_x_System.Web_test.dll</library_output>
     </project>
     <project dir="class/System.Web.Services" library="System.Web.Services-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:168,612,618,649 -d:MONO_BROKEN_CONFIGURATION_DLL -resource:System.Web.Services.Description/wsdl-1.1.xsd,wsdl-1.1.xsd -resource:System.Web.Services.Description/wsdl-1.1-soap.xsd,wsdl-1.1-soap.xsd -resource:System.Web.Services.Description/web-reference.xsd,web-reference.xsd -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:168,612,618,649 -d:MONO_BROKEN_CONFIGURATION_DLL -resource:System.Web.Services.Description/wsdl-1.1.xsd,wsdl-1.1.xsd -resource:System.Web.Services.Description/wsdl-1.1-soap.xsd,wsdl-1.1-soap.xsd -resource:System.Web.Services.Description/web-reference.xsd,web-reference.xsd -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Web.Services.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Services.dll</library_output>
     </project>
     <project dir="class/System.Web.Services" library="System.Web.Services-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Services.dll -nowarn:168,612,618,649 -d:MONO_BROKEN_CONFIGURATION_DLL -resource:System.Web.Services.Description/wsdl-1.1.xsd,wsdl-1.1.xsd -resource:System.Web.Services.Description/wsdl-1.1-soap.xsd,wsdl-1.1-soap.xsd -resource:System.Web.Services.Description/web-reference.xsd,web-reference.xsd -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -nowarn:618 -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Services.dll -nowarn:168,612,618,649 -d:MONO_BROKEN_CONFIGURATION_DLL -resource:System.Web.Services.Description/wsdl-1.1.xsd,wsdl-1.1.xsd -resource:System.Web.Services.Description/wsdl-1.1-soap.xsd,wsdl-1.1-soap.xsd -resource:System.Web.Services.Description/web-reference.xsd,web-reference.xsd -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -nowarn:618 -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME</flags>
       <output>net_4_x_System.Web.Services_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Web.Services_test.dll</library_output>
     </project>
     <project dir="class/System.Design" library="System.Design-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:436 -nowarn:612,618,649,67,672 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/Accessibility.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:436 -nowarn:612,618,649,67,672 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/Accessibility.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Design.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Design.dll</library_output>
     </project>
     <project dir="class/System.Design" library="System.Design-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll</flags>
       <output>net_4_x_System.Design_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Design_test.dll</library_output>
     </project>
     <project dir="class/System.Design" library="System.Design-plaindesign-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:436 -nowarn:612,618,649,67,672 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/Accessibility.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:436 -nowarn:612,618,649,67,672 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/Accessibility.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Design.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/plaindesign/System.Design.dll</library_output>
     </project>
     <project dir="class/System.Design" library="System.Design-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plaindesign/System.Design.dll</flags>
       <output>net_4_x_System.Design_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Design_test.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Remoting" library="System.Runtime.Remoting-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
       <output>System.Runtime.Remoting.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Runtime.Remoting.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Remoting" library="System.Runtime.Remoting-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Remoting.dll -nowarn:618</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Remoting.dll -nowarn:618</flags>
       <output>net_4_x_System.Runtime.Remoting_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Runtime.Remoting_test.dll</library_output>
     </project>
     <project dir="class/System.Configuration.Install" library="System.Configuration.Install-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Configuration.Install.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Configuration.Install.dll</library_output>
     </project>
     <project dir="class/System.Management" library="System.Management-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll</flags>
       <output>System.Management.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Management.dll</library_output>
     </project>
     <project dir="class/System.Data.OracleClient" library="System.Data.OracleClient-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Drawing.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Drawing.dll</flags>
       <output>System.Data.OracleClient.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.OracleClient.dll</library_output>
     </project>
     <project dir="class/System.Data.OracleClient" library="System.Data.OracleClient-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.OracleClient.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Drawing.dll /nowarn:618</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.OracleClient.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.Drawing.dll /nowarn:618</flags>
       <output>net_4_x_System.Data.OracleClient_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Data.OracleClient_test.dll</library_output>
     </project>
     <project dir="class/Cscompmgd" library="Cscompmgd-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>cscompmgd.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/cscompmgd.dll</library_output>
     </project>
     <project dir="class/Cscompmgd" library="Cscompmgd-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/cscompmgd.dll -r:./../../class/lib/net_4_x/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/cscompmgd.dll -r:./../../class/lib/net_4_x/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_Cscompmgd_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Cscompmgd_test.dll</library_output>
     </project>
     <project dir="class/Commons.Xml.Relaxng" library="Commons.Xml.Relaxng-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /resource:resources/relaxng.rng,relaxng.rng -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /resource:resources/relaxng.rng,relaxng.rng -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>Commons.Xml.Relaxng.dll</output>
       <built_sources>Commons.Xml.Relaxng.Rnc/RncParser.cs</built_sources>
       <library_output>./../../class/lib/net_4_x/Commons.Xml.Relaxng.dll</library_output>
     </project>
     <project dir="class/Commons.Xml.Relaxng" library="Commons.Xml.Relaxng-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Commons.Xml.Relaxng.dll /resource:resources/relaxng.rng,relaxng.rng -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Commons.Xml.Relaxng.dll /resource:resources/relaxng.rng,relaxng.rng -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_Commons.Xml.Relaxng_test.dll</output>
       <built_sources>Commons.Xml.Relaxng.Rnc/RncParser.cs</built_sources>
       <library_output>net_4_x_Commons.Xml.Relaxng_test.dll</library_output>
     </project>
     <project dir="class/Mono.Messaging" library="Mono.Messaging-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>Mono.Messaging.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Messaging.dll</library_output>
     </project>
     <project dir="class/Mono.Messaging" library="Mono.Messaging-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_Mono.Messaging_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Messaging_test.dll</library_output>
     </project>
     <project dir="class/System.Messaging" library="System.Messaging-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /resource:System.Messaging/MessageQueue.resx -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /resource:System.Messaging/MessageQueue.resx -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
       <output>System.Messaging.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Messaging.dll</library_output>
     </project>
     <project dir="class/System.Messaging" library="System.Messaging-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Messaging.dll /resource:System.Messaging/MessageQueue.resx -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Messaging.dll /resource:System.Messaging/MessageQueue.resx -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.Messaging_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Messaging_test.dll</library_output>
     </project>
     <project dir="class/System.ServiceProcess" library="System.ServiceProcess-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:0618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:0618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
       <output>System.ServiceProcess.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceProcess.dll</library_output>
     </project>
     <project dir="class/System.ServiceProcess" library="System.ServiceProcess-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ServiceProcess.dll /nowarn:0618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ServiceProcess.dll /nowarn:0618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.Install.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
       <output>net_4_x_System.ServiceProcess_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.ServiceProcess_test.dll</library_output>
     </project>
     <project dir="class/System.Drawing.Design" library="System.Drawing.Design-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
       <output>System.Drawing.Design.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Drawing.Design.dll</library_output>
     </project>
     <project dir="class/ICSharpCode.SharpZipLib" library="ICSharpCode.SharpZipLib-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>ICSharpCode.SharpZipLib.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/ICSharpCode.SharpZipLib.dll</library_output>
     </project>
     <project dir="class/IBM.Data.DB2" library="IBM.Data.DB2-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll</flags>
       <output>IBM.Data.DB2.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/IBM.Data.DB2.dll</library_output>
     </project>
     <project dir="class/CustomMarshalers" library="CustomMarshalers-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>CustomMarshalers.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/CustomMarshalers.dll</library_output>
     </project>
     <project dir="class/SystemWebTestShim" library="SystemWebTestShim-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>SystemWebTestShim.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/SystemWebTestShim.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Internals" library="System.ServiceModel.Internals-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.ServiceModel.Internals.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceModel.Internals.dll</library_output>
     </project>
     <project dir="class/SMDiagnostics" library="SMDiagnostics-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>SMDiagnostics.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/SMDiagnostics.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Serialization" library="System.Runtime.Serialization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414,618,1634 /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/SMDiagnostics.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414,618,1634 /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/SMDiagnostics.dll</flags>
       <output>System.Runtime.Serialization.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Runtime.Serialization.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Serialization" library="System.Runtime.Serialization-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414,618,1634 /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/SMDiagnostics.dll /resource:Test/Resources/WSDL/collections.wsdl /resource:Test/Resources/WSDL/custom-collections.wsdl</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414,618,1634 /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/SMDiagnostics.dll /resource:Test/Resources/WSDL/collections.wsdl /resource:Test/Resources/WSDL/custom-collections.wsdl</flags>
       <output>net_4_x_System.Runtime.Serialization_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Runtime.Serialization_test.dll</library_output>
     </project>
     <project dir="class/System.Xml.Linq" library="System.Xml.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:FEATURE_SERIALIZATION -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:FEATURE_SERIALIZATION -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>System.Xml.Linq.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Xml.Linq.dll</library_output>
     </project>
     <project dir="class/System.Xml.Linq" library="System.Xml.Linq-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -d:FEATURE_SERIALIZATION -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -d:FEATURE_SERIALIZATION -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>net_4_x_System.Xml.Linq_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Xml.Linq_test.dll</library_output>
     </project>
     <project dir="class/System.Data.Linq" library="System.Data.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd /d:MONO_STRICT /d:MONO_DEPLOY -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd /d:MONO_STRICT /d:MONO_DEPLOY -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>System.Data.Linq.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.Linq.dll</library_output>
     </project>
     <project dir="class/System.Data.Linq" library="System.Data.Linq-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.Linq.dll /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd /d:MONO_STRICT /d:MONO_DEPLOY -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.Linq.dll /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd /d:MONO_STRICT /d:MONO_DEPLOY -warn:1 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>net_4_x_System.Data.Linq_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Data.Linq_test.dll</library_output>
     </project>
     <project dir="class/System.Web.Abstractions" library="System.Web.Abstractions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
       <output>System.Web.Abstractions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Abstractions.dll</library_output>
     </project>
     <project dir="class/System.Web.Abstractions" library="System.Web.Abstractions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
       <output>net_4_x_System.Web.Abstractions_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Web.Abstractions_test.dll</library_output>
     </project>
     <project dir="class/System.Web.Routing" library="System.Web.Routing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll</flags>
       <output>System.Web.Routing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Routing.dll</library_output>
     </project>
     <project dir="class/System.Web.Routing" library="System.Web.Routing-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll</flags>
       <output>net_4_x_System.Web.Routing_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Web.Routing_test.dll</library_output>
     </project>
     <project dir="class/System.Runtime.DurableInstancing" library="System.Runtime.DurableInstancing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>System.Runtime.DurableInstancing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Runtime.DurableInstancing.dll</library_output>
     </project>
     <project dir="class/System.Runtime.DurableInstancing" library="System.Runtime.DurableInstancing-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.DurableInstancing.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.DurableInstancing.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Internals.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>net_4_x_System.Runtime.DurableInstancing_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Runtime.DurableInstancing_test.dll</library_output>
     </project>
     <project dir="class/System.IdentityModel" library="System.IdentityModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>System.IdentityModel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.IdentityModel.dll</library_output>
     </project>
     <project dir="class/System.IdentityModel" library="System.IdentityModel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.IdentityModel.dll /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.IdentityModel.dll /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>net_4_x_System.IdentityModel_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.IdentityModel_test.dll</library_output>
     </project>
     <project dir="class/System.IdentityModel.Selectors" library="System.IdentityModel.Selectors-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll</flags>
       <output>System.IdentityModel.Selectors.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel" library="System.ServiceModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -define:HAS_ACTIVATION -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -define:HAS_ACTIVATION -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>System.ServiceModel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceModel.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel" library="System.ServiceModel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>net_4_x_System.ServiceModel_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.ServiceModel_test.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel" library="System.ServiceModel-plainservice-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>System.ServiceModel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel" library="System.ServiceModel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll /nowarn:414,169,67,3005,436,219,618 /unsafe /d:TRACE /resource:resources/WS-Addressing.schema /resource:resources/ws-addr.xsd /d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Security.dll -r:./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/Mono.Security.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>net_4_x_System.ServiceModel_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.ServiceModel_test.dll</library_output>
     </project>
     <project dir="class/System.Web.Extensions" library="System.Web.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -define:NET_3_5 -nowarn:436 -define:SYSTEM_WEB_EXTENSIONS /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -define:NET_3_5 -nowarn:436 -define:SYSTEM_WEB_EXTENSIONS /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>System.Web.Extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Extensions.dll</library_output>
     </project>
     <project dir="class/System.Web.Extensions" library="System.Web.Extensions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -unsafe -define:NET_3_5 -nowarn:436 -define:SYSTEM_WEB_EXTENSIONS /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -doc:net_4_x_System.Web.Extensions_test.xml -nowarn:219,169,1591 /resource:Test/resources/Web.mono.config /resource:Test/resources/profile.config.4.x /resource:Test/resources/ListViewSort.aspx /resource:Test/resources/ListViewTest.aspx /resource:Test/resources/ListViewTotalRowCount_Bug535701_1.aspx /resource:Test/resources/ListViewTotalRowCount_Bug535701_2.aspx /resource:Test/resources/ListViewTotalRowCount_Bug604053.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithDerivedMaster.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMasterInvalidPlaceHolder.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyDerived.master -define:SYSTEM_WEB_EXTENSIONS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -unsafe -define:NET_3_5 -nowarn:436 -define:SYSTEM_WEB_EXTENSIONS /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js /resource:../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Services.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.EnterpriseServices.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll -doc:net_4_x_System.Web.Extensions_test.xml -nowarn:219,169,1591 /resource:Test/resources/Web.mono.config /resource:Test/resources/profile.config.4.x /resource:Test/resources/ListViewSort.aspx /resource:Test/resources/ListViewTest.aspx /resource:Test/resources/ListViewTotalRowCount_Bug535701_1.aspx /resource:Test/resources/ListViewTotalRowCount_Bug535701_2.aspx /resource:Test/resources/ListViewTotalRowCount_Bug604053.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithDerivedMaster.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMasterInvalidPlaceHolder.aspx /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master /resource:../System.Web/Test/mainsoft/NunitWeb/NunitWeb/Resources/MyDerived.master -define:SYSTEM_WEB_EXTENSIONS</flags>
       <output>net_4_x_System.Web.Extensions_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Web.Extensions_test.dll</library_output>
     </project>
     <project dir="class/System.Web.Extensions.Design" library="System.Web.Extensions.Design-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -define:NET_3_5 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Design.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -define:NET_3_5 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Design.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
       <output>System.Web.Extensions.Design.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Extensions.Design.dll</library_output>
     </project>
     <project dir="class/System.Web.DynamicData" library="System.Web.DynamicData-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</flags>
       <output>System.Web.DynamicData.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.DynamicData.dll</library_output>
     </project>
     <project dir="class/System.Web.DynamicData" library="System.Web.DynamicData-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.DynamicData.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll /resource:Test/WebPages/DynamicData/Content/FilterUserControl.ascx,MonoTests.WebPages.DynamicData.Content.FilterUserControl.ascx /resource:Test/WebPages/DynamicData/Content/FilterUserControl.ascx.cs,MonoTests.WebPages.DynamicData.Content.FilterUserControl.ascx.cs /resource:Test/WebPages/DynamicData/Content/GridViewPager.ascx,MonoTests.WebPages.DynamicData.Content.GridViewPager.ascx /resource:Test/WebPages/DynamicData/Content/GridViewPager.ascx.cs,MonoTests.WebPages.DynamicData.Content.GridViewPager.ascx.cs /resource:Test/WebPages/DynamicData/Content/Images/Back.gif,MonoTests.WebPages.DynamicData.Content.Images.Back.gif /resource:Test/WebPages/DynamicData/Content/Images/header_back.gif,MonoTests.WebPages.DynamicData.Content.Images.header_back.gif /resource:Test/WebPages/DynamicData/Content/Images/PgFirst.gif,MonoTests.WebPages.DynamicData.Content.Images.PgFirst.gif /resource:Test/WebPages/DynamicData/Content/Images/PgLast.gif,MonoTests.WebPages.DynamicData.Content.Images.PgLast.gif /resource:Test/WebPages/DynamicData/Content/Images/PgNext.gif,MonoTests.WebPages.DynamicData.Content.Images.PgNext.gif /resource:Test/WebPages/DynamicData/Content/Images/PgPrev.gif,MonoTests.WebPages.DynamicData.Content.Images.PgPrev.gif /resource:Test/WebPages/DynamicData/Content/Images/plus.gif,MonoTests.WebPages.DynamicData.Content.Images.plus.gif /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Children.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Children.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Children.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Children.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/CustomColor.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.CustomColor.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/CustomColor.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.CustomColor.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/CustomFieldTemplate.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.CustomFieldTemplate.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/CustomFieldTemplate.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.CustomFieldTemplate.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Decimal_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Decimal_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Decimal_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Decimal_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Integer_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Integer_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Integer_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Integer_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/MultilineText_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.MultilineText_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/MultilineText_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.MultilineText_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/MyCustomUIHintTemplate_Text.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.MyCustomUIHintTemplate_Text.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/MyCustomUIHintTemplate_Text.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.MyCustomUIHintTemplate_Text.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Boolean.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Boolean.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Boolean.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Boolean.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte[].ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte[].ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte[].ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte[].ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Char.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Char.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Char.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Char.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/FooEmpty.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.FooEmpty.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/FooEmpty.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.FooEmpty.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/ICollection.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.ICollection.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/ICollection.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.ICollection.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/MonoTests.Common.FooEmpty.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.MonoTests.Common.FooEmpty.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/MonoTests.Common.FooEmpty.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.MonoTests.Common.FooEmpty.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Object.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Object.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Object.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Object.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/SByte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.SByte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/SByte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.SByte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/String.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.String.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/String.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.String.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Boolean.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Boolean.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Boolean.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Boolean.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte[].ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte[].ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte[].ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte[].ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Char.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Char.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Char.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Char.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.Generic.List`1[System.String].ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.Generic.List`1[System.String].ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.Generic.List`1[System.String].ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.Generic.List`1[System.String].ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.ICollection.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.ICollection.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.ICollection.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.ICollection.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Object.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Object.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Object.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Object.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.SByte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.SByte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.SByte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.SByte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.String.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.String.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.String.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.String.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/PlainControlTemplate.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.PlainControlTemplate.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/PlainControlTemplate.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.PlainControlTemplate.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Text.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Text.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Text.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Text.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Text_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Text_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Text_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Text_Edit.ascx.cs /resource:Test/WebPages/DynamicData/PageTemplates/Details.aspx,MonoTests.WebPages.DynamicData.PageTemplates.Details.aspx /resource:Test/WebPages/DynamicData/PageTemplates/Details.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.Details.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/Edit.aspx,MonoTests.WebPages.DynamicData.PageTemplates.Edit.aspx /resource:Test/WebPages/DynamicData/PageTemplates/Edit.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.Edit.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/Insert.aspx,MonoTests.WebPages.DynamicData.PageTemplates.Insert.aspx /resource:Test/WebPages/DynamicData/PageTemplates/Insert.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.Insert.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/List.aspx,MonoTests.WebPages.DynamicData.PageTemplates.List.aspx /resource:Test/WebPages/DynamicData/PageTemplates/List.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.List.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/ListDetails.aspx,MonoTests.WebPages.DynamicData.PageTemplates.ListDetails.aspx /resource:Test/WebPages/DynamicData/PageTemplates/ListDetails.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.ListDetails.aspx.cs /resource:Test/WebPages/DynamicData/web.config,MonoTests.WebPages.DynamicData.web.config /resource:Test/WebPages/Global.asax,MonoTests.WebPages.Global.asax /resource:Test/WebPages/ListView_DynamicControl_01.aspx,MonoTests.WebPages.ListView_DynamicControl_01.aspx /resource:Test/WebPages/ListView_DynamicControl_01.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_01.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_02.aspx,MonoTests.WebPages.ListView_DynamicControl_02.aspx /resource:Test/WebPages/ListView_DynamicControl_02.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_02.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_03.aspx,MonoTests.WebPages.ListView_DynamicControl_03.aspx /resource:Test/WebPages/ListView_DynamicControl_03.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_03.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_04.aspx,MonoTests.WebPages.ListView_DynamicControl_04.aspx /resource:Test/WebPages/ListView_DynamicControl_04.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_04.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_05.aspx,MonoTests.WebPages.ListView_DynamicControl_05.aspx /resource:Test/WebPages/ListView_DynamicControl_05.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_05.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_06.aspx,MonoTests.WebPages.ListView_DynamicControl_06.aspx /resource:Test/WebPages/ListView_DynamicControl_06.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_06.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_07.aspx,MonoTests.WebPages.ListView_DynamicControl_07.aspx /resource:Test/WebPages/ListView_DynamicControl_07.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_07.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_08.aspx,MonoTests.WebPages.ListView_DynamicControl_08.aspx /resource:Test/WebPages/ListView_DynamicControl_08.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_08.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_09.aspx,MonoTests.WebPages.ListView_DynamicControl_09.aspx /resource:Test/WebPages/ListView_DynamicControl_09.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_09.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_10.aspx,MonoTests.WebPages.ListView_DynamicControl_10.aspx /resource:Test/WebPages/ListView_DynamicControl_10.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_10.aspx.cs /resource:Test/WebPages/DynamicValidator_01.aspx,MonoTests.WebPages.DynamicValidator_01.aspx /resource:Test/WebPages/DynamicValidator_01.aspx.cs,MonoTests.WebPages.DynamicValidator_01.aspx.cs /resource:Test/WebPages/DynamicValidator_02.aspx,MonoTests.WebPages.DynamicValidator_02.aspx /resource:Test/WebPages/DynamicValidator_02.aspx.cs,MonoTests.WebPages.DynamicValidator_02.aspx.cs /resource:Test/WebPages/Site.css,MonoTests.WebPages.Site.css /resource:Test/WebPages/Site.master,MonoTests.WebPages.Site.master /resource:Test/WebPages/Site.master.cs,MonoTests.WebPages.Site.master.cs /resource:Test/WebPages/web.config.4.x,MonoTests.WebPages.web.config.4.x</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Web.DynamicData.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.ApplicationServices.dll /resource:Test/WebPages/DynamicData/Content/FilterUserControl.ascx,MonoTests.WebPages.DynamicData.Content.FilterUserControl.ascx /resource:Test/WebPages/DynamicData/Content/FilterUserControl.ascx.cs,MonoTests.WebPages.DynamicData.Content.FilterUserControl.ascx.cs /resource:Test/WebPages/DynamicData/Content/GridViewPager.ascx,MonoTests.WebPages.DynamicData.Content.GridViewPager.ascx /resource:Test/WebPages/DynamicData/Content/GridViewPager.ascx.cs,MonoTests.WebPages.DynamicData.Content.GridViewPager.ascx.cs /resource:Test/WebPages/DynamicData/Content/Images/Back.gif,MonoTests.WebPages.DynamicData.Content.Images.Back.gif /resource:Test/WebPages/DynamicData/Content/Images/header_back.gif,MonoTests.WebPages.DynamicData.Content.Images.header_back.gif /resource:Test/WebPages/DynamicData/Content/Images/PgFirst.gif,MonoTests.WebPages.DynamicData.Content.Images.PgFirst.gif /resource:Test/WebPages/DynamicData/Content/Images/PgLast.gif,MonoTests.WebPages.DynamicData.Content.Images.PgLast.gif /resource:Test/WebPages/DynamicData/Content/Images/PgNext.gif,MonoTests.WebPages.DynamicData.Content.Images.PgNext.gif /resource:Test/WebPages/DynamicData/Content/Images/PgPrev.gif,MonoTests.WebPages.DynamicData.Content.Images.PgPrev.gif /resource:Test/WebPages/DynamicData/Content/Images/plus.gif,MonoTests.WebPages.DynamicData.Content.Images.plus.gif /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Boolean_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Boolean_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Children.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Children.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Children.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Children.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/CustomColor.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.CustomColor.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/CustomColor.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.CustomColor.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/CustomFieldTemplate.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.CustomFieldTemplate.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/CustomFieldTemplate.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.CustomFieldTemplate.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/DateTime_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.DateTime_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Decimal_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Decimal_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Decimal_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Decimal_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/ForeignKey_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.ForeignKey_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Integer_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Integer_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Integer_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Integer_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/MultilineText_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.MultilineText_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/MultilineText_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.MultilineText_Edit.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/MyCustomUIHintTemplate_Text.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.MyCustomUIHintTemplate_Text.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/MyCustomUIHintTemplate_Text.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.MyCustomUIHintTemplate_Text.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Boolean.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Boolean.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Boolean.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Boolean.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte[].ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte[].ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Byte[].ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Byte[].ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Char.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Char.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Char.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Char.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/FooEmpty.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.FooEmpty.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/FooEmpty.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.FooEmpty.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/ICollection.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.ICollection.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/ICollection.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.ICollection.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Int64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Int64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/MonoTests.Common.FooEmpty.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.MonoTests.Common.FooEmpty.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/MonoTests.Common.FooEmpty.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.MonoTests.Common.FooEmpty.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Object.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Object.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/Object.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.Object.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/SByte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.SByte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/SByte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.SByte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/String.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.String.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/String.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.String.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Boolean.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Boolean.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Boolean.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Boolean.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte[].ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte[].ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Byte[].ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Byte[].ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Char.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Char.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Char.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Char.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.Generic.List`1[System.String].ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.Generic.List`1[System.String].ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.Generic.List`1[System.String].ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.Generic.List`1[System.String].ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.ICollection.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.ICollection.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Collections.ICollection.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Collections.ICollection.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Int64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Int64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Object.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Object.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.Object.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.Object.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.SByte.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.SByte.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.SByte.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.SByte.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.String.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.String.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.String.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.String.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/System.UInt64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.System.UInt64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt16.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt16.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt16.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt16.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt32.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt32.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt32.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt32.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt64.ascx,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt64.ascx /resource:Test/WebPages/DynamicData/FieldTemplates_NonDefault/UInt64.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates_NonDefault.UInt64.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/PlainControlTemplate.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.PlainControlTemplate.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/PlainControlTemplate.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.PlainControlTemplate.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Text.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Text.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Text.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Text.ascx.cs /resource:Test/WebPages/DynamicData/FieldTemplates/Text_Edit.ascx,MonoTests.WebPages.DynamicData.FieldTemplates.Text_Edit.ascx /resource:Test/WebPages/DynamicData/FieldTemplates/Text_Edit.ascx.cs,MonoTests.WebPages.DynamicData.FieldTemplates.Text_Edit.ascx.cs /resource:Test/WebPages/DynamicData/PageTemplates/Details.aspx,MonoTests.WebPages.DynamicData.PageTemplates.Details.aspx /resource:Test/WebPages/DynamicData/PageTemplates/Details.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.Details.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/Edit.aspx,MonoTests.WebPages.DynamicData.PageTemplates.Edit.aspx /resource:Test/WebPages/DynamicData/PageTemplates/Edit.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.Edit.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/Insert.aspx,MonoTests.WebPages.DynamicData.PageTemplates.Insert.aspx /resource:Test/WebPages/DynamicData/PageTemplates/Insert.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.Insert.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/List.aspx,MonoTests.WebPages.DynamicData.PageTemplates.List.aspx /resource:Test/WebPages/DynamicData/PageTemplates/List.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.List.aspx.cs /resource:Test/WebPages/DynamicData/PageTemplates/ListDetails.aspx,MonoTests.WebPages.DynamicData.PageTemplates.ListDetails.aspx /resource:Test/WebPages/DynamicData/PageTemplates/ListDetails.aspx.cs,MonoTests.WebPages.DynamicData.PageTemplates.ListDetails.aspx.cs /resource:Test/WebPages/DynamicData/web.config,MonoTests.WebPages.DynamicData.web.config /resource:Test/WebPages/Global.asax,MonoTests.WebPages.Global.asax /resource:Test/WebPages/ListView_DynamicControl_01.aspx,MonoTests.WebPages.ListView_DynamicControl_01.aspx /resource:Test/WebPages/ListView_DynamicControl_01.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_01.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_02.aspx,MonoTests.WebPages.ListView_DynamicControl_02.aspx /resource:Test/WebPages/ListView_DynamicControl_02.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_02.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_03.aspx,MonoTests.WebPages.ListView_DynamicControl_03.aspx /resource:Test/WebPages/ListView_DynamicControl_03.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_03.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_04.aspx,MonoTests.WebPages.ListView_DynamicControl_04.aspx /resource:Test/WebPages/ListView_DynamicControl_04.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_04.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_05.aspx,MonoTests.WebPages.ListView_DynamicControl_05.aspx /resource:Test/WebPages/ListView_DynamicControl_05.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_05.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_06.aspx,MonoTests.WebPages.ListView_DynamicControl_06.aspx /resource:Test/WebPages/ListView_DynamicControl_06.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_06.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_07.aspx,MonoTests.WebPages.ListView_DynamicControl_07.aspx /resource:Test/WebPages/ListView_DynamicControl_07.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_07.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_08.aspx,MonoTests.WebPages.ListView_DynamicControl_08.aspx /resource:Test/WebPages/ListView_DynamicControl_08.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_08.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_09.aspx,MonoTests.WebPages.ListView_DynamicControl_09.aspx /resource:Test/WebPages/ListView_DynamicControl_09.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_09.aspx.cs /resource:Test/WebPages/ListView_DynamicControl_10.aspx,MonoTests.WebPages.ListView_DynamicControl_10.aspx /resource:Test/WebPages/ListView_DynamicControl_10.aspx.cs,MonoTests.WebPages.ListView_DynamicControl_10.aspx.cs /resource:Test/WebPages/DynamicValidator_01.aspx,MonoTests.WebPages.DynamicValidator_01.aspx /resource:Test/WebPages/DynamicValidator_01.aspx.cs,MonoTests.WebPages.DynamicValidator_01.aspx.cs /resource:Test/WebPages/DynamicValidator_02.aspx,MonoTests.WebPages.DynamicValidator_02.aspx /resource:Test/WebPages/DynamicValidator_02.aspx.cs,MonoTests.WebPages.DynamicValidator_02.aspx.cs /resource:Test/WebPages/Site.css,MonoTests.WebPages.Site.css /resource:Test/WebPages/Site.master,MonoTests.WebPages.Site.master /resource:Test/WebPages/Site.master.cs,MonoTests.WebPages.Site.master.cs /resource:Test/WebPages/web.config.4.x,MonoTests.WebPages.web.config.4.x</flags>
       <output>net_4_x_System.Web.DynamicData_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Web.DynamicData_test.dll</library_output>
     </project>
     <project dir="class/Mono.CSharp" library="Mono.CSharp-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:MONO_FEATURE_THREAD_ABORT -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:MONO_FEATURE_THREAD_ABORT -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.CSharp.dll</output>
-      <built_sources></built_sources>
+      <built_sources>net_4_x-parser.cs</built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.CSharp.dll</library_output>
       <fx_version>4.5</fx_version>
       <profile>net_4_x</profile>
     </project>
     <project dir="class/Mono.CSharp" library="Mono.CSharp-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.CSharp.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.CSharp.dll</flags>
       <output>net_4_x_Mono.CSharp_test.dll</output>
-      <built_sources></built_sources>
+      <built_sources>net_4_x-parser.cs</built_sources>
       <library_output>net_4_x_Mono.CSharp_test.dll</library_output>
       <fx_version>4.5</fx_version>
       <profile>net_4_x</profile>
     </project>
     <project dir="class/System.Net" library="System.Net-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -d:NET_3_5 -nowarn:1720 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -d:NET_3_5 -nowarn:1720 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Net.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Net.dll</library_output>
     </project>
     <project dir="class/System.Json" library="System.Json-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Json.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Json.dll</library_output>
     </project>
     <project dir="class/System.Json" library="System.Json-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Json.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Json.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>net_4_x_System.Json_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Json_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.CSharp" library="Microsoft.CSharp-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Microsoft.CSharp.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.CSharp.dll</library_output>
     </project>
     <project dir="class/System.Xaml" library="System.Xaml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Xaml.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Xaml.dll</library_output>
     </project>
     <project dir="class/System.Xaml" library="System.Xaml-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Xaml.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Xaml.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>net_4_x_System.Xaml_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Xaml_test.dll</library_output>
     </project>
     <project dir="class/WindowsBase" library="WindowsBase-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:67,618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xaml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:67,618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xaml.dll</flags>
       <output>WindowsBase.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/WindowsBase.dll</library_output>
     </project>
     <project dir="class/WindowsBase" library="WindowsBase-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/WindowsBase.dll -unsafe</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/WindowsBase.dll -unsafe</flags>
       <output>net_4_x_WindowsBase_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_WindowsBase_test.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Activation" library="System.ServiceModel.Activation-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll</flags>
       <output>System.ServiceModel.Activation.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Routing" library="System.ServiceModel.Routing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.ServiceModel.Routing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceModel.Routing.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Discovery" library="System.ServiceModel.Discovery-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.ServiceModel.Discovery.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceModel.Discovery.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Discovery" library="System.ServiceModel.Discovery-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ServiceModel.Discovery.dll -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ServiceModel.Discovery.dll -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>net_4_x_System.ServiceModel.Discovery_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.ServiceModel.Discovery_test.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Caching" library="System.Runtime.Caching-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Runtime.Caching.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Runtime.Caching.dll</library_output>
     </project>
     <project dir="class/System.Runtime.Caching" library="System.Runtime.Caching-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -nowarn:414 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>net_4_x_System.Runtime.Caching_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Runtime.Caching_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Web.Infrastructure" library="Microsoft.Web.Infrastructure-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll</flags>
       <output>Microsoft.Web.Infrastructure.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Web" library="System.ServiceModel.Web-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</flags>
       <output>System.ServiceModel.Web.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ServiceModel.Web.dll</library_output>
     </project>
     <project dir="class/System.ServiceModel.Web" library="System.ServiceModel.Web-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ServiceModel.Web.dll -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.ServiceModel.Web.dll -d:NET_3_5 -d:NET_3_0 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</flags>
       <output>net_4_x_System.ServiceModel.Web_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.ServiceModel.Web_test.dll</library_output>
     </project>
     <project dir="class/System.Net.Http" library="System.Net.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Http.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Net.Http.dll</library_output>
     </project>
     <project dir="class/System.Net.Http" library="System.Net.Http-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Net.Http.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Net.Http.dll</flags>
       <output>net_4_x_System.Net.Http_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Net.Http_test.dll</library_output>
     </project>
     <project dir="class/System.Net.Http.WebRequest" library="System.Net.Http.WebRequest-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Http.WebRequest.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Net.Http.WebRequest.dll</library_output>
     </project>
     <project dir="class/System.Web.Razor" library="System.Web.Razor-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Web.Razor.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Razor.dll</library_output>
     </project>
     <project dir="class/System.Web.WebPages.Deployment" library="System.Web.WebPages.Deployment-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll</flags>
       <output>System.Web.WebPages.Deployment.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.WebPages.Deployment.dll</library_output>
     </project>
     <project dir="class/System.Web.WebPages" library="System.Web.WebPages-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.Deployment.dll -r:./../../class/lib/net_4_x/System.Web.Razor.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.Deployment.dll -r:./../../class/lib/net_4_x/System.Web.Razor.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll</flags>
       <output>System.Web.WebPages.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.WebPages.dll</library_output>
     </project>
     <project dir="class/System.Web.WebPages.Razor" library="System.Web.WebPages.Razor-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.dll -r:./../../class/lib/net_4_x/System.Web.Razor.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.dll -r:./../../class/lib/net_4_x/System.Web.Razor.dll</flags>
       <output>System.Web.WebPages.Razor.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.WebPages.Razor.dll</library_output>
     </project>
     <project dir="class/System.Web.Mvc3" library="System.Web.Mvc3-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub /d:MONO /delaysign -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -r:./../../class/lib/net_4_x/System.Web.Razor.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.Razor.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /warn:1 /keyfile:../winfx.pub /d:MONO /delaysign -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -r:./../../class/lib/net_4_x/System.Web.Razor.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.Razor.dll -r:./../../class/lib/net_4_x/System.Web.WebPages.dll</flags>
       <output>System.Web.Mvc.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Mvc.dll</library_output>
     </project>
     <project dir="class/System.Net.Http.Formatting" library="System.Net.Http.Formatting-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Net.Http.Formatting.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Net.Http.Formatting.dll</library_output>
     </project>
     <project dir="class/System.Web.Http" library="System.Web.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Net.Http.Formatting.dll -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Net.Http.Formatting.dll -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.Data.Linq.dll</flags>
       <output>System.Web.Http.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Http.dll</library_output>
     </project>
     <project dir="class/System.Web.Http.SelfHost" library="System.Web.Http.SelfHost-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Web.Http.dll -r:./../../class/lib/net_4_x/System.Net.Http.Formatting.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Web.Http.dll -r:./../../class/lib/net_4_x/System.Net.Http.Formatting.dll</flags>
       <output>System.Web.Http.SelfHost.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Http.SelfHost.dll</library_output>
     </project>
     <project dir="class/System.Web.Http.WebHost" library="System.Web.Http.WebHost-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Web.Http.dll -r:./../../class/lib/net_4_x/System.Net.Http.Formatting.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../class/lib/net_4_x/System.Web.Http.dll -r:./../../class/lib/net_4_x/System.Net.Http.Formatting.dll -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll</flags>
       <output>System.Web.Http.WebHost.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Http.WebHost.dll</library_output>
     </project>
     <project dir="class/System.Runtime.InteropServices.RuntimeInformation" library="System.Runtime.InteropServices.RuntimeInformation-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Runtime.InteropServices.RuntimeInformation.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Runtime.InteropServices.RuntimeInformation.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Microsoft.Build.Framework.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
       <output>net_4_x_Microsoft.Build.Framework_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Microsoft.Build.Framework_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.Utilities.v4.0.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll -resource:Test/Microsoft.Build.Utilities/Strings.resources</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll -resource:Test/Microsoft.Build.Utilities/Strings.resources</flags>
       <output>net_4_x_Microsoft.Build.Utilities_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Microsoft.Build.Utilities_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll</flags>
       <output>Microsoft.Build.Engine.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.Build.Engine.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll</flags>
       <output>net_4_x_Microsoft.Build.Engine_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Microsoft.Build.Engine_test.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>Mono.XBuild.Tasks.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</flags>
       <output>net_4_x_Mono.XBuild.Tasks_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.XBuild.Tasks_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</flags>
       <output>Microsoft.Build.Tasks.v4.0.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.Build.Tasks.v4.0.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Tasks.v4.0.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Tasks.v4.0.dll</flags>
       <output>net_4_x_Microsoft.Build.Tasks_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Microsoft.Build.Tasks_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.Build.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.dll /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.dll /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
       <output>net_4_x_Microsoft.Build_test.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>net_4_x_Microsoft.Build_test.dll</library_output>
     </project>
     <project dir="class/PEAPI" library="PEAPI-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:414,618 -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:414,618 -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>PEAPI.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/PEAPI.dll</library_output>
     </project>
     <project dir="class/I18N/Common" library="I18N-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
       <output>I18N.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/I18N.dll</library_output>
     </project>
     <project dir="class/I18N/West" library="I18N.West-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
       <output>I18N.West.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/I18N.West.dll</library_output>
     </project>
     <project dir="class/I18N/West" library="I18N.West-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.West.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.West.dll</flags>
       <output>net_4_x_I18N.West_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_I18N.West_test.dll</library_output>
     </project>
     <project dir="class/I18N/MidEast" library="I18N.MidEast-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
       <output>I18N.MidEast.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/I18N.MidEast.dll</library_output>
     </project>
     <project dir="class/I18N/MidEast" library="I18N.MidEast-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.MidEast.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.MidEast.dll</flags>
       <output>net_4_x_I18N.MidEast_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_I18N.MidEast_test.dll</library_output>
     </project>
     <project dir="class/I18N/Other" library="I18N.Other-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
       <output>I18N.Other.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/I18N.Other.dll</library_output>
     </project>
     <project dir="class/I18N/Rare" library="I18N.Rare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
       <output>I18N.Rare.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/I18N.Rare.dll</library_output>
     </project>
     <project dir="class/I18N/CJK" library="I18N.CJK-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.dll</flags>
       <output>I18N.CJK.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/I18N.CJK.dll</library_output>
     </project>
     <project dir="class/I18N/CJK" library="I18N.CJK-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.CJK.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/I18N.CJK.dll</flags>
       <output>net_4_x_I18N.CJK_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_I18N.CJK_test.dll</library_output>
     </project>
     <project dir="class/Mono.Btls.Interface" library="Mono.Btls.Interface-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:1030 -keyfile:../mono.pub -delaysign -d:SECURITY_DEP -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -nowarn:1030 -keyfile:../mono.pub -delaysign -d:SECURITY_DEP -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>Mono.Btls.Interface.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Btls.Interface.dll</library_output>
     </project>
     <project dir="class/Mono.Http" library="Mono.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/ICSharpCode.SharpZipLib.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Web.dll -r:./../../class/lib/net_4_x/ICSharpCode.SharpZipLib.dll -r:./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>Mono.Http.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Http.dll</library_output>
     </project>
     <project dir="class/Mono.Cairo" library="Mono.Cairo-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
       <output>Mono.Cairo.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Cairo.dll</library_output>
     </project>
     <project dir="class/Mono.Cecil" library="Mono.Cecil-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -keyfile:../mono.snk -d:NET_4_0 /publicsign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -keyfile:../mono.snk -d:NET_4_0 /publicsign -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.Cecil.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Cecil.dll</library_output>
     </project>
     <project dir="class/Mono.Cecil.Mdb" library="Mono.Cecil.Mdb-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:CECIL -keyfile:../mono.snk -publicsign -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Cecil.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:CECIL -keyfile:../mono.snk -publicsign -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Cecil.dll</flags>
       <output>Mono.Cecil.Mdb.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Cecil.Mdb.dll</library_output>
     </project>
     <project dir="class/Mono.Debugger.Soft" library="Mono.Debugger.Soft-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -D:MONO_DATACONVERTER_STATIC_METHODS -keyfile:../mono.snk /publicsign -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Cecil.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -D:MONO_DATACONVERTER_STATIC_METHODS -keyfile:../mono.snk /publicsign -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Cecil.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>Mono.Debugger.Soft.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Debugger.Soft.dll</library_output>
     </project>
     <project dir="class/Mono.Debugger.Soft" library="Mono.Debugger.Soft-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Debugger.Soft.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Debugger.Soft.dll</flags>
       <output>net_4_x_Mono.Debugger.Soft_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Debugger.Soft_test.dll</library_output>
     </project>
     <project dir="class/Mono.C5" library="Mono.C5-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:169,219,414,1030,3001,3005,3006 -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:169,219,414,1030,3001,3005,3006 -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.C5.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.C5.dll</library_output>
     </project>
     <project dir="class/Mono.C5" library="Mono.C5-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.C5.dll -nowarn:169,219,414,1030,3001,3005,3006 -r:./../../class/lib/net_4_x/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.C5.dll -nowarn:169,219,414,1030,3001,3005,3006 -r:./../../class/lib/net_4_x/System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_Mono.C5_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.C5_test.dll</library_output>
     </project>
     <project dir="class/Mono.Management" library="Mono.Management-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll</flags>
       <output>Mono.Management.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Management.dll</library_output>
     </project>
     <project dir="class/Mono.Options" library="Mono.Options-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Mono.Options.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Options.dll</library_output>
     </project>
     <project dir="class/Mono.Options" library="Mono.Options-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Options.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Options.dll</flags>
       <output>net_4_x_Mono.Options_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Options_test.dll</library_output>
     </project>
     <project dir="class/Mono.Simd" library="Mono.Simd-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>Mono.Simd.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Simd.dll</library_output>
     </project>
     <project dir="class/Mono.Tasklets" library="Mono.Tasklets-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
       <output>Mono.Tasklets.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Tasklets.dll</library_output>
     </project>
     <project dir="class/Mono.Tasklets" library="Mono.Tasklets-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Tasklets.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Tasklets.dll</flags>
       <output>net_4_x_Mono.Tasklets_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Tasklets_test.dll</library_output>
     </project>
     <project dir="class/Mono.CodeContracts" library="Mono.CodeContracts-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/Mono.Cecil.dll -r:./../../class/lib/net_4_x/Mono.Cecil.Mdb.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/Mono.Cecil.dll -r:./../../class/lib/net_4_x/Mono.Cecil.Mdb.dll</flags>
       <output>Mono.CodeContracts.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.CodeContracts.dll</library_output>
     </project>
     <project dir="class/Mono.CodeContracts" library="Mono.CodeContracts-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.CodeContracts.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.CodeContracts.dll</flags>
       <output>net_4_x_Mono.CodeContracts_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.CodeContracts_test.dll</library_output>
     </project>
     <project dir="class/Mono.Parallel" library="Mono.Parallel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -d:INSIDE_MONO_PARALLEL</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -d:INSIDE_MONO_PARALLEL</flags>
       <output>Mono.Parallel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Parallel.dll</library_output>
     </project>
     <project dir="class/Mono.Parallel" library="Mono.Parallel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Parallel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Parallel.dll</flags>
       <output>net_4_x_Mono.Parallel_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Parallel_test.dll</library_output>
     </project>
     <project dir="class/Mono.Security.Win32" library="Mono.Security.Win32-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe</flags>
       <output>Mono.Security.Win32.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Security.Win32.dll</library_output>
     </project>
     <project dir="class/RabbitMQ.Client/src/apigen" library="RabbitMQ.Client.Apigen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /main:RabbitMQ.Client.Apigen.Apigen -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /main:RabbitMQ.Client.Apigen.Apigen -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
       <output>RabbitMQ.Client.Apigen.exe</output>
       <built_sources></built_sources>
       <library_output>./../../../../class/lib/net_4_x/RabbitMQ.Client.Apigen.exe</library_output>
     </project>
     <project dir="class/RabbitMQ.Client/src/client" library="RabbitMQ.Client-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../../../class/lib/net_4_x/System.dll -r:./../../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../../../class/lib/net_4_x/System.dll -r:./../../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>RabbitMQ.Client.dll</output>
       <built_sources>../../docs/specs/net_4_x-api-0-9.cs ../../docs/specs/net_4_x-api-0-8.cs ../../docs/specs/net_4_x-api-qpid-0-8.cs</built_sources>
       <library_output>./../../../../class/lib/net_4_x/RabbitMQ.Client.dll</library_output>
     </project>
     <project dir="class/Mono.Messaging.RabbitMQ" library="Mono.Messaging.RabbitMQ-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/RabbitMQ.Client.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/RabbitMQ.Client.dll</flags>
       <output>Mono.Messaging.RabbitMQ.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Mono.Messaging.RabbitMQ.dll</library_output>
     </project>
     <project dir="class/Mono.Messaging.RabbitMQ" library="Mono.Messaging.RabbitMQ-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Messaging.RabbitMQ.dll -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/RabbitMQ.Client.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/Mono.Messaging.RabbitMQ.dll -nowarn:618 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Messaging.dll -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:./../../class/lib/net_4_x/RabbitMQ.Client.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_Mono.Messaging.RabbitMQ_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_Mono.Messaging.RabbitMQ_test.dll</library_output>
     </project>
     <project dir="class/System.Dynamic" library="System.Dynamic-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -d:CODEPLEX_40 -nowarn:414,169 -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -unsafe -d:CODEPLEX_40 -nowarn:414,169 -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Dynamic.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Dynamic.dll</library_output>
     </project>
     <project dir="class/System.Windows.Forms.DataVisualization" library="System.Windows.Forms.DataVisualization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:67 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:67 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Windows.Forms.DataVisualization.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Windows.Forms.DataVisualization.dll</library_output>
     </project>
     <project dir="class/System.Windows.Forms.DataVisualization" library="System.Windows.Forms.DataVisualization-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Windows.Forms.DataVisualization.dll -nowarn:67 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Windows.Forms.DataVisualization.dll -nowarn:67 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Drawing.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>net_4_x_System.Windows.Forms.DataVisualization_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Windows.Forms.DataVisualization_test.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Interfaces" library="System.Reactive.Interfaces-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Reactive.Interfaces.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Interfaces.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Core" library="System.Reactive.Core-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll</flags>
       <output>System.Reactive.Core.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Core.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Linq" library="System.Reactive.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll</flags>
       <output>System.Reactive.Linq.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Linq.dll</library_output>
     </project>
     <project dir="class/System.Reactive.PlatformServices" library="System.Reactive.PlatformServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
       <output>System.Reactive.PlatformServices.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.PlatformServices.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Providers" library="System.Reactive.Providers-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
       <output>System.Reactive.Providers.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Providers.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Runtime.Remoting" library="System.Reactive.Runtime.Remoting-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
       <output>System.Reactive.Runtime.Remoting.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Runtime.Remoting.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Windows.Forms" library="System.Reactive.Windows.Forms-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll -r:./../../class/lib/net_4_x/System.Windows.Forms.dll</flags>
       <output>System.Reactive.Windows.Forms.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Windows.Forms.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Windows.Threading" library="System.Reactive.Windows.Threading-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll -r:./../../class/lib/net_4_x/WindowsBase.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll -r:./../../class/lib/net_4_x/WindowsBase.dll</flags>
       <output>System.Reactive.Windows.Threading.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Windows.Threading.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Observable.Aliases" library="System.Reactive.Observable.Aliases-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll -r:./../../class/lib/net_4_x/System.Reactive.Providers.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll -r:./../../class/lib/net_4_x/System.Reactive.Providers.dll</flags>
       <output>System.Reactive.Observable.Aliases.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Observable.Aliases.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Experimental" library="System.Reactive.Experimental-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
       <output>System.Reactive.Experimental.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Experimental.dll</library_output>
     </project>
     <project dir="class/System.Reactive.Debugger" library="System.Reactive.Debugger-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Interfaces.dll -r:./../../class/lib/net_4_x/System.Reactive.Core.dll -r:./../../class/lib/net_4_x/System.Reactive.Linq.dll</flags>
       <output>System.Reactive.Debugger.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reactive.Debugger.dll</library_output>
     </project>
     <project dir="class/System.Data.Services.Client" library="System.Data.Services.Client-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -warn:2 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/WindowsBase.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -warn:2 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/WindowsBase.dll</flags>
       <output>System.Data.Services.Client.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.Services.Client.dll</library_output>
     </project>
     <project dir="class/System.Data.Services" library="System.Data.Services-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Web.dll -r:./../../class/lib/net_4_x/System.Data.Services.Client.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:NET_3_5 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Web.dll -r:./../../class/lib/net_4_x/System.Data.Services.Client.dll -r:./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</flags>
       <output>System.Data.Services.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.Services.dll</library_output>
     </project>
     <project dir="class/System.Data.Services" library="System.Data.Services-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.Services.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.Services.dll</flags>
       <output>net_4_x_System.Data.Services_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Data.Services_test.dll</library_output>
     </project>
     <project dir="class/System.Data.Entity" library="System.Data.Entity-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:2 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -warn:2 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Transactions.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>System.Data.Entity.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.Entity.dll</library_output>
     </project>
     <project dir="class/System.Data.DataSetExtensions" library="System.Data.DataSetExtensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:436 -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -nowarn:436 -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Data.DataSetExtensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Data.DataSetExtensions.dll</library_output>
     </project>
     <project dir="class/System.Data.DataSetExtensions" library="System.Data.DataSetExtensions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.DataSetExtensions.dll -nowarn:436 -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -doc:net_4_x_System.Data.DataSetExtensions_test.xml -nowarn:219 -nowarn:169</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Data.DataSetExtensions.dll -nowarn:436 -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Xml.dll -doc:net_4_x_System.Data.DataSetExtensions_test.xml -nowarn:219 -nowarn:169</flags>
       <output>net_4_x_System.Data.DataSetExtensions_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Data.DataSetExtensions_test.dll</library_output>
     </project>
     <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:ASPNETMVC -keyfile:../winfx.pub -delaysign -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:ASPNETMVC -keyfile:../winfx.pub -delaysign -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
       <output>System.Json.Microsoft.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Json.Microsoft.dll</library_output>
     </project>
     <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Json.Microsoft.dll /d:ASPNETMVC -keyfile:../winfx.pub -delaysign -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Json.Microsoft.dll /d:ASPNETMVC -keyfile:../winfx.pub -delaysign -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
       <output>net_4_x_System.Json.Microsoft_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Json.Microsoft_test.dll</library_output>
     </project>
     <project dir="class/System.Threading.Tasks.Dataflow" library="System.Threading.Tasks.Dataflow-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -d:CONCURRENT_COLLECTIONS</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.dll -d:CONCURRENT_COLLECTIONS</flags>
       <output>System.Threading.Tasks.Dataflow.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Threading.Tasks.Dataflow.dll</library_output>
     </project>
     <project dir="class/System.Threading.Tasks.Dataflow" library="System.Threading.Tasks.Dataflow-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Threading.Tasks.Dataflow.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.Threading.Tasks.Dataflow.dll</flags>
       <output>net_4_x_System.Threading.Tasks.Dataflow_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Threading.Tasks.Dataflow_test.dll</library_output>
     </project>
     <project dir="class/System.ComponentModel.Composition.4.5" library="System.ComponentModel.Composition-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CLR40 -d:USE_ECMA_KEY,FEATURE_REFLECTIONCONTEXT,FEATURE_REFLECTIONFILEIO,FEATURE_SERIALIZATION,FEATURE_SLIMLOCK -nowarn:219,414 -nowarn:436 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -d:CLR40 -d:USE_ECMA_KEY,FEATURE_REFLECTIONCONTEXT,FEATURE_REFLECTIONFILEIO,FEATURE_SERIALIZATION,FEATURE_SLIMLOCK -nowarn:219,414 -nowarn:436 -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.ComponentModel.Composition.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.ComponentModel.Composition.dll</library_output>
     </project>
     <project dir="class/System.Windows" library="System.Windows-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Windows.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Windows.dll</library_output>
     </project>
     <project dir="class/System.Xml.Serialization" library="System.Xml.Serialization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -optimize -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -optimize -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.ServiceModel.dll</flags>
       <output>System.Xml.Serialization.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Xml.Serialization.dll</library_output>
     </project>
     <project dir="class/System.DirectoryServices.Protocols" library="System.DirectoryServices.Protocols-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.DirectoryServices.dll -r:./../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.DirectoryServices.Protocols.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.DirectoryServices.Protocols.dll</library_output>
     </project>
     <project dir="class/Microsoft.VisualC" library="Microsoft.VisualC-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>Microsoft.VisualC.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/Microsoft.VisualC.dll</library_output>
     </project>
     <project dir="class/WebMatrix.Data" library="WebMatrix.Data-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Data.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>WebMatrix.Data.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/WebMatrix.Data.dll</library_output>
     </project>
     <project dir="class/WebMatrix.Data" library="WebMatrix.Data-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/WebMatrix.Data.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/WebMatrix.Data.dll</flags>
       <output>net_4_x_WebMatrix.Data_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_WebMatrix.Data_test.dll</library_output>
     </project>
     <project dir="class/monodoc" library="monodoc-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /nowarn:618,612,672,809,414,649 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe /nowarn:169,164,162,168,219,618,612 /resource:../../docs/monodoc.xml,monodoc.xml /resource:Resources/base.css,base.css /resource:Resources/ecmaspec-html-css.xsl,ecmaspec-html-css.xsl /resource:Resources/ecmaspec-html.xsl,ecmaspec-html.xsl /resource:Resources/ecmaspec.css,ecmaspec.css /resource:Resources/helper.js,helper.js /resource:Resources/home.html,home.html /resource:Resources/Lminus.gif,Lminus.gif /resource:Resources/Lplus.gif,Lplus.gif /resource:Resources/creativecommons.png,creativecommons.png /resource:Resources/mdoc-html-format.xsl,mdoc-html-format.xsl /resource:Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl /resource:Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl /resource:Resources/mdoc-sections.xsl,mdoc-sections.xsl /resource:Resources/mono-ecma-css.xsl,mono-ecma-css.xsl /resource:Resources/mono-ecma-impl.xsl,mono-ecma-impl.xsl /resource:Resources/mono-ecma.css,mono-ecma.css /resource:Resources/mono-ecma.xsl,mono-ecma.xsl /resource:Resources/toc-html.xsl,toc-html.xsl /resource:Resources/images/bc_bg.png,bc_bg.png /resource:Resources/images/bc_separator.png,bc_separator.png /resource:Resources/images/error.png,error.png /resource:Resources/images/hatch.png,hatch.png /resource:Resources/images/headerbg.png,headerbg.png /resource:Resources/images/help.png,help.png /resource:Resources/images/house.png,house.png /resource:Resources/images/members.png,members.png /resource:Resources/images/namespace.png,namespace.png /resource:Resources/images/privclass.png,privclass.png /resource:Resources/images/privdelegate.png,privdelegate.png /resource:Resources/images/privenumeration.png,privenumeration.png /resource:Resources/images/privevent.png,privevent.png /resource:Resources/images/privextension.png,privextension.png /resource:Resources/images/privfield.png,privfield.png /resource:Resources/images/privinterface.png,privinterface.png /resource:Resources/images/privmethod.png,privmethod.png /resource:Resources/images/privproperty.png,privproperty.png /resource:Resources/images/privstructure.png,privstructure.png /resource:Resources/images/protclass.png,protclass.png /resource:Resources/images/protdelegate.png,protdelegate.png /resource:Resources/images/protenumeration.png,protenumeration.png /resource:Resources/images/protevent.png,protevent.png /resource:Resources/images/protextension.png,protextension.png /resource:Resources/images/protfield.png,protfield.png /resource:Resources/images/protinterface.png,protinterface.png /resource:Resources/images/protmethod.png,protmethod.png /resource:Resources/images/protproperty.png,protproperty.png /resource:Resources/images/protstructure.png,protstructure.png /resource:Resources/images/pubclass.png,pubclass.png /resource:Resources/images/pubdelegate.png,pubdelegate.png /resource:Resources/images/pubenumeration.png,pubenumeration.png /resource:Resources/images/pubevent.png,pubevent.png /resource:Resources/images/pubextension.png,pubextension.png /resource:Resources/images/pubfield.png,pubfield.png /resource:Resources/images/pubinterface.png,pubinterface.png /resource:Resources/images/pubmethod.png,pubmethod.png /resource:Resources/images/pubproperty.png,pubproperty.png /resource:Resources/images/pubstructure.png,pubstructure.png /resource:Resources/images/reference.png,reference.png /resource:Resources/images/treebg.png,treebg.png -r:./../../class/lib/net_4_x/ICSharpCode.SharpZipLib.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /nowarn:618,612,672,809,414,649 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /unsafe /nowarn:169,164,162,168,219,618,612 /resource:../../docs/monodoc.xml,monodoc.xml /resource:../../../external/api-doc-tools/monodoc/Resources/base.css,base.css /resource:../../../external/api-doc-tools/monodoc/Resources/ecmaspec-html-css.xsl,ecmaspec-html-css.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/ecmaspec-html.xsl,ecmaspec-html.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/ecmaspec.css,ecmaspec.css /resource:../../../external/api-doc-tools/monodoc/Resources/helper.js,helper.js /resource:../../../external/api-doc-tools/monodoc/Resources/home.html,home.html /resource:../../../external/api-doc-tools/monodoc/Resources/Lminus.gif,Lminus.gif /resource:../../../external/api-doc-tools/monodoc/Resources/Lplus.gif,Lplus.gif /resource:../../../external/api-doc-tools/monodoc/Resources/creativecommons.png,creativecommons.png /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-html-format.xsl,mdoc-html-format.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-sections.xsl,mdoc-sections.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mono-ecma-css.xsl,mono-ecma-css.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mono-ecma-impl.xsl,mono-ecma-impl.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mono-ecma.css,mono-ecma.css /resource:../../../external/api-doc-tools/monodoc/Resources/mono-ecma.xsl,mono-ecma.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/toc-html.xsl,toc-html.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/images/bc_bg.png,bc_bg.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/bc_separator.png,bc_separator.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/error.png,error.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/hatch.png,hatch.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/headerbg.png,headerbg.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/help.png,help.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/house.png,house.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/members.png,members.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/namespace.png,namespace.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privclass.png,privclass.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privdelegate.png,privdelegate.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privenumeration.png,privenumeration.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privevent.png,privevent.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privextension.png,privextension.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privfield.png,privfield.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privinterface.png,privinterface.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privmethod.png,privmethod.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privproperty.png,privproperty.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/privstructure.png,privstructure.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protclass.png,protclass.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protdelegate.png,protdelegate.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protenumeration.png,protenumeration.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protevent.png,protevent.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protextension.png,protextension.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protfield.png,protfield.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protinterface.png,protinterface.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protmethod.png,protmethod.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protproperty.png,protproperty.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/protstructure.png,protstructure.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubclass.png,pubclass.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubdelegate.png,pubdelegate.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubenumeration.png,pubenumeration.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubevent.png,pubevent.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubextension.png,pubextension.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubfield.png,pubfield.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubinterface.png,pubinterface.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubmethod.png,pubmethod.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubproperty.png,pubproperty.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/pubstructure.png,pubstructure.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/reference.png,reference.png /resource:../../../external/api-doc-tools/monodoc/Resources/images/treebg.png,treebg.png -r:./../../class/lib/net_4_x/ICSharpCode.SharpZipLib.dll -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../class/lib/net_4_x/System.Configuration.dll</flags>
       <output>monodoc.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/monodoc.dll</library_output>
     </project>
     <project dir="class/monodoc" library="monodoc-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /nowarn:618,612,672,809,414,649 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/monodoc.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /nowarn:618,612,672,809,414,649 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/monodoc.dll</flags>
       <output>net_4_x_monodoc_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_monodoc_test.dll</library_output>
     </project>
     <project dir="class/System.Deployment" library="System.Deployment-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../msfinal.pub</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../msfinal.pub</flags>
       <output>System.Deployment.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Deployment.dll</library_output>
     </project>
     <project dir="class/System.Web.Mobile" library="System.Web.Mobile-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../msfinal.pub</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../msfinal.pub</flags>
       <output>System.Web.Mobile.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.Mobile.dll</library_output>
     </project>
     <project dir="class/System.Web.RegularExpressions" library="System.Web.RegularExpressions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../msfinal.pub</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../msfinal.pub</flags>
       <output>System.Web.RegularExpressions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Web.RegularExpressions.dll</library_output>
     </project>
     <project dir="class/System.Workflow.Activities" library="System.Workflow.Activities-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../winfx.pub</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../winfx.pub</flags>
       <output>System.Workflow.Activities.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Workflow.Activities.dll</library_output>
     </project>
     <project dir="class/System.Workflow.ComponentModel" library="System.Workflow.ComponentModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../winfx.pub</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../winfx.pub</flags>
       <output>System.Workflow.ComponentModel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Workflow.ComponentModel.dll</library_output>
     </project>
     <project dir="class/System.Workflow.Runtime" library="System.Workflow.Runtime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../winfx.pub</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -delaysign -keyfile:../winfx.pub</flags>
       <output>System.Workflow.Runtime.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Workflow.Runtime.dll</library_output>
     </project>
     <project dir="class/System.Reflection.Context" library="System.Reflection.Context-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../class/lib/net_4_x/System.dll</flags>
       <output>System.Reflection.Context.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Reflection.Context.dll</library_output>
     </project>
     <project dir="class/legacy/Mono.Cecil" library="legacy_Mono.Cecil-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -keyfile:../../mono.snk -d:NET_3_5 /publicsign -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -keyfile:../../mono.snk -d:NET_3_5 /publicsign -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>Mono.Cecil.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/legacy/Mono.Cecil.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.X509Certificates" library="Facades_System.Security.Cryptography.X509Certificates-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Security.Cryptography.X509Certificates.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.X509Certificates.dll</library_output>
     </project>
     <project dir="class/Facades/System.ServiceModel.Primitives" library="Facades_System.ServiceModel.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.X509Certificates.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.ServiceModel.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.IdentityModel.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.X509Certificates.dll</flags>
       <output>System.ServiceModel.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.Serialization.Primitives" library="Facades_System.Runtime.Serialization.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>System.Runtime.Serialization.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.Serialization.Xml" library="Facades_System.Runtime.Serialization.Xml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll</flags>
       <output>System.Runtime.Serialization.Xml.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Xml.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Algorithms" library="Facades_System.Security.Cryptography.Algorithms-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Security.Cryptography.Algorithms.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Algorithms.dll</library_output>
     </project>
     <project dir="class/Facades/System.Globalization.Extensions" library="Facades_System.Globalization.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Globalization.Extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Globalization.Extensions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Data.Common" library="Facades_System.Data.Common-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Data.Common.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Data.Common.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.StackTrace" library="Facades_System.Diagnostics.StackTrace-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.StackTrace.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.StackTrace.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.SecureString" library="Facades_System.Security.SecureString-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.SecureString.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.SecureString.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.Overlapped" library="Facades_System.Threading.Overlapped-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Threading.Overlapped.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Overlapped.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.XPath.XDocument" library="Facades_System.Xml.XPath.XDocument-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll</flags>
       <output>System.Xml.XPath.XDocument.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XPath.XDocument.dll</library_output>
     </project>
     <project dir="class/Facades/System.Drawing.Primitives" library="Facades_System.Drawing.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
       <output>System.Drawing.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Drawing.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/netstandard" library="Facades_netstandard-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /nowarn:618 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../../class/lib/net_4_x/System.Core.dll -r:./../../../class/lib/net_4_x/System.Numerics.dll -r:./../../../class/lib/net_4_x/System.Numerics.Vectors.dll -r:./../../../class/lib/net_4_x/System.Net.Http.dll -r:./../../../class/lib/net_4_x/System.Transactions.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.ComponentModel.Composition.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll -r:./../../../class/lib/net_4_x/System.Runtime.InteropServices.RuntimeInformation.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Algorithms.dll -r:./../../../class/lib/net_4_x/Facades/System.Globalization.Extensions.dll -r:./../../../class/lib/net_4_x/Facades/System.Data.Common.dll -r:./../../../class/lib/net_4_x/Facades/System.Diagnostics.StackTrace.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Xml.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.SecureString.dll -r:./../../../class/lib/net_4_x/Facades/System.Threading.Overlapped.dll -r:./../../../class/lib/net_4_x/Facades/System.Xml.XPath.XDocument.dll -r:./../../../class/lib/net_4_x/System.Web.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../Open.snk /nowarn:1616,1699 /nowarn:618 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../../class/lib/net_4_x/System.Core.dll -r:./../../../class/lib/net_4_x/System.Numerics.dll -r:./../../../class/lib/net_4_x/System.Numerics.Vectors.dll -r:./../../../class/lib/net_4_x/System.Net.Http.dll -r:./../../../class/lib/net_4_x/System.Transactions.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.ComponentModel.Composition.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll -r:./../../../class/lib/net_4_x/System.Runtime.InteropServices.RuntimeInformation.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Algorithms.dll -r:./../../../class/lib/net_4_x/Facades/System.Globalization.Extensions.dll -r:./../../../class/lib/net_4_x/Facades/System.Data.Common.dll -r:./../../../class/lib/net_4_x/Facades/System.Diagnostics.StackTrace.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Xml.dll -r:./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll -r:./../../../class/lib/net_4_x/Facades/System.Security.SecureString.dll -r:./../../../class/lib/net_4_x/Facades/System.Threading.Overlapped.dll -r:./../../../class/lib/net_4_x/Facades/System.Xml.XPath.XDocument.dll -r:./../../../class/lib/net_4_x/System.Web.dll -r:./../../../class/lib/net_4_x/System.Drawing.dll</flags>
       <output>netstandard.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/netstandard.dll</library_output>
     </project>
     <project dir="class/Facades/System.Collections.Concurrent" library="Facades_System.Collections.Concurrent-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Collections.Concurrent.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Collections.Concurrent.dll</library_output>
     </project>
     <project dir="class/Facades/System.Collections" library="Facades_System.Collections-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Collections.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Collections.dll</library_output>
     </project>
     <project dir="class/Facades/System.ComponentModel.Annotations" library="Facades_System.ComponentModel.Annotations-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll</flags>
       <output>System.ComponentModel.Annotations.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.Annotations.dll</library_output>
     </project>
     <project dir="class/Facades/System.ComponentModel.EventBasedAsync" library="Facades_System.ComponentModel.EventBasedAsync-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.ComponentModel.EventBasedAsync.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.EventBasedAsync.dll</library_output>
     </project>
     <project dir="class/Facades/System.ComponentModel" library="Facades_System.ComponentModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.ComponentModel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.Contracts" library="Facades_System.Diagnostics.Contracts-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Diagnostics.Contracts.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Contracts.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.Debug" library="Facades_System.Diagnostics.Debug-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.Debug.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Debug.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.Tracing" library="Facades_System.Diagnostics.Tracing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Diagnostics.Tracing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Tracing.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.Tools" library="Facades_System.Diagnostics.Tools-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.Tools.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Tools.dll</library_output>
     </project>
     <project dir="class/Facades/System.Dynamic.Runtime" library="Facades_System.Dynamic.Runtime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Dynamic.Runtime.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Dynamic.Runtime.dll</library_output>
     </project>
     <project dir="class/Facades/System.Globalization" library="Facades_System.Globalization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Globalization.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Globalization.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO" library="Facades_System.IO-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.dll</library_output>
     </project>
     <project dir="class/Facades/System.Linq.Expressions" library="Facades_System.Linq.Expressions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Linq.Expressions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.Expressions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Linq.Parallel" library="Facades_System.Linq.Parallel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Linq.Parallel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.Parallel.dll</library_output>
     </project>
     <project dir="class/Facades/System.Linq.Queryable" library="Facades_System.Linq.Queryable-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Linq.Queryable.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.Queryable.dll</library_output>
     </project>
     <project dir="class/Facades/System.Linq" library="Facades_System.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Linq.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.NetworkInformation" library="Facades_System.Net.NetworkInformation-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.NetworkInformation.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.NetworkInformation.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Primitives" library="Facades_System.Net.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Requests" library="Facades_System.Net.Requests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Requests.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Requests.dll</library_output>
     </project>
     <project dir="class/Facades/System.ObjectModel" library="Facades_System.ObjectModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.ObjectModel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ObjectModel.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection.Extensions" library="Facades_System.Reflection.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Reflection.Extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Extensions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection.Primitives" library="Facades_System.Reflection.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Reflection.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection" library="Facades_System.Reflection-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Reflection.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.dll</library_output>
     </project>
     <project dir="class/Facades/System.Resources.ResourceManager" library="Facades_System.Resources.ResourceManager-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Resources.ResourceManager.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Resources.ResourceManager.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.Extensions" library="Facades_System.Runtime.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Runtime.Extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Extensions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.InteropServices" library="Facades_System.Runtime.InteropServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Runtime.InteropServices.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.InteropServices.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.InteropServices.WindowsRuntime" library="Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Runtime.InteropServices.WindowsRuntime.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.InteropServices.WindowsRuntime.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.Numerics" library="Facades_System.Runtime.Numerics-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Numerics.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Numerics.dll</flags>
       <output>System.Runtime.Numerics.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Numerics.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.Serialization.Json" library="Facades_System.Runtime.Serialization.Json-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Runtime.Serialization.dll</flags>
       <output>System.Runtime.Serialization.Json.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Json.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime" library="Facades_System.Runtime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.ComponentModel.Composition.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.ComponentModel.Composition.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Runtime.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Principal" library="Facades_System.Security.Principal-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Security.Principal.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Principal.dll</library_output>
     </project>
     <project dir="class/Facades/System.ServiceModel.Http" library="Facades_System.ServiceModel.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
       <output>System.ServiceModel.Http.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Http.dll</library_output>
     </project>
     <project dir="class/Facades/System.ServiceModel.Security" library="Facades_System.ServiceModel.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
       <output>System.ServiceModel.Security.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Security.dll</library_output>
     </project>
     <project dir="class/Facades/System.Text.Encoding.Extensions" library="Facades_System.Text.Encoding.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Text.Encoding.Extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Text.Encoding.Extensions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Text.Encoding" library="Facades_System.Text.Encoding-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Text.Encoding.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Text.Encoding.dll</library_output>
     </project>
     <project dir="class/Facades/System.Text.RegularExpressions" library="Facades_System.Text.RegularExpressions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Text.RegularExpressions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Text.RegularExpressions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.Tasks.Parallel" library="Facades_System.Threading.Tasks.Parallel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Threading.Tasks.Parallel.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Tasks.Parallel.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.Tasks" library="Facades_System.Threading.Tasks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Threading.Tasks.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Tasks.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.Timer" library="Facades_System.Threading.Timer-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Threading.Timer.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Timer.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading" library="Facades_System.Threading-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Threading.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.ReaderWriter" library="Facades_System.Xml.ReaderWriter-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Xml.ReaderWriter.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.ReaderWriter.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.XDocument" library="Facades_System.Xml.XDocument-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Xml.Linq.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Xml.XDocument.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XDocument.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.XmlSerializer" library="Facades_System.Xml.XmlSerializer-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Xml.XmlSerializer.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XmlSerializer.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.Handles" library="Facades_System.Runtime.Handles-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Runtime.Handles.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Handles.dll</library_output>
     </project>
     <project dir="class/Facades/System.ServiceModel.Duplex" library="Facades_System.ServiceModel.Duplex-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
       <output>System.ServiceModel.Duplex.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Duplex.dll</library_output>
     </project>
     <project dir="class/Facades/System.ServiceModel.NetTcp" library="Facades_System.ServiceModel.NetTcp-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.ServiceModel.dll</flags>
       <output>System.ServiceModel.NetTcp.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.NetTcp.dll</library_output>
     </project>
     <project dir="class/Facades/Microsoft.Win32.Primitives" library="Facades_Microsoft.Win32.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>Microsoft.Win32.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/Microsoft.Win32.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/Microsoft.Win32.Registry" library="Facades_Microsoft.Win32.Registry-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>Microsoft.Win32.Registry.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/Microsoft.Win32.Registry.dll</library_output>
     </project>
     <project dir="class/Facades/System.AppContext" library="Facades_System.AppContext-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.AppContext.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.AppContext.dll</library_output>
     </project>
     <project dir="class/Facades/System.Collections.NonGeneric" library="Facades_System.Collections.NonGeneric-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Collections.NonGeneric.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Collections.NonGeneric.dll</library_output>
     </project>
     <project dir="class/Facades/System.Collections.Specialized" library="Facades_System.Collections.Specialized-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Collections.Specialized.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Collections.Specialized.dll</library_output>
     </project>
     <project dir="class/Facades/System.ComponentModel.Primitives" library="Facades_System.ComponentModel.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.ComponentModel.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.ComponentModel.TypeConverter" library="Facades_System.ComponentModel.TypeConverter-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.ComponentModel.TypeConverter.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.TypeConverter.dll</library_output>
     </project>
     <project dir="class/Facades/System.Console" library="Facades_System.Console-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Console.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Console.dll</library_output>
     </project>
     <project dir="class/Facades/System.Data.SqlClient" library="Facades_System.Data.SqlClient-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Data.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Data.SqlClient.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Data.SqlClient.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.FileVersionInfo" library="Facades_System.Diagnostics.FileVersionInfo-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.FileVersionInfo.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.FileVersionInfo.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.Process" library="Facades_System.Diagnostics.Process-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.Process.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Process.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.TextWriterTraceListener" library="Facades_System.Diagnostics.TextWriterTraceListener-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.TextWriterTraceListener.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.TextWriterTraceListener.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.TraceEvent" library="Facades_System.Diagnostics.TraceEvent-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.TraceEvent.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.TraceEvent.dll</library_output>
     </project>
     <project dir="class/Facades/System.Diagnostics.TraceSource" library="Facades_System.Diagnostics.TraceSource-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Diagnostics.TraceSource.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.TraceSource.dll</library_output>
     </project>
     <project dir="class/Facades/System.Globalization.Calendars" library="Facades_System.Globalization.Calendars-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Globalization.Calendars.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Globalization.Calendars.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.Compression.ZipFile" library="Facades_System.IO.Compression.ZipFile-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll</flags>
       <output>System.IO.Compression.ZipFile.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.Compression.ZipFile.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.FileSystem" library="Facades_System.IO.FileSystem-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.FileSystem.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.FileSystem.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.FileSystem.DriveInfo" library="Facades_System.IO.FileSystem.DriveInfo-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.FileSystem.DriveInfo.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.FileSystem.DriveInfo.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.FileSystem.Primitives" library="Facades_System.IO.FileSystem.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.FileSystem.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.FileSystem.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.IsolatedStorage" library="Facades_System.IO.IsolatedStorage-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.IsolatedStorage.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.IsolatedStorage.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.MemoryMappedFiles" library="Facades_System.IO.MemoryMappedFiles-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.IO.MemoryMappedFiles.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.MemoryMappedFiles.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.UnmanagedMemoryStream" library="Facades_System.IO.UnmanagedMemoryStream-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.UnmanagedMemoryStream.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.UnmanagedMemoryStream.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.AuthenticationManager" library="Facades_System.Net.AuthenticationManager-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.AuthenticationManager.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.AuthenticationManager.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Cache" library="Facades_System.Net.Cache-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Cache.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Cache.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.HttpListener" library="Facades_System.Net.HttpListener-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.HttpListener.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.HttpListener.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Mail" library="Facades_System.Net.Mail-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Mail.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Mail.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.NameResolution" library="Facades_System.Net.NameResolution-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.NameResolution.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.NameResolution.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Security" library="Facades_System.Net.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Security.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Security.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.ServicePoint" library="Facades_System.Net.ServicePoint-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.ServicePoint.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.ServicePoint.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Sockets" library="Facades_System.Net.Sockets-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Sockets.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Sockets.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.Utilities" library="Facades_System.Net.Utilities-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.Utilities.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Utilities.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.WebHeaderCollection" library="Facades_System.Net.WebHeaderCollection-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.WebHeaderCollection.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.WebHeaderCollection.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.WebSockets" library="Facades_System.Net.WebSockets-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.WebSockets.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.WebSockets.dll</library_output>
     </project>
     <project dir="class/Facades/System.Net.WebSockets.Client" library="Facades_System.Net.WebSockets.Client-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Net.WebSockets.Client.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Net.WebSockets.Client.dll</library_output>
     </project>
     <project dir="class/Facades/System.Resources.ReaderWriter" library="Facades_System.Resources.ReaderWriter-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Resources.ReaderWriter.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Resources.ReaderWriter.dll</library_output>
     </project>
     <project dir="class/Facades/System.Runtime.CompilerServices.VisualC" library="Facades_System.Runtime.CompilerServices.VisualC-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Runtime.CompilerServices.VisualC.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.CompilerServices.VisualC.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.AccessControl" library="Facades_System.Security.AccessControl-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.AccessControl.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.AccessControl.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Claims" library="Facades_System.Security.Claims-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Claims.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Claims.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.DeriveBytes" library="Facades_System.Security.Cryptography.DeriveBytes-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.DeriveBytes.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.DeriveBytes.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Encoding" library="Facades_System.Security.Cryptography.Encoding-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.Encoding.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Encoding.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Encryption" library="Facades_System.Security.Cryptography.Encryption-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.Encryption.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Encryption.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Encryption.Aes" library="Facades_System.Security.Cryptography.Encryption.Aes-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.Encryption.Aes.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Encryption.Aes.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman" library="Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Security.Cryptography.Encryption.ECDiffieHellman.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Encryption.ECDsa" library="Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.Security.Cryptography.Encryption.ECDsa.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Encryption.ECDsa.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Hashing" library="Facades_System.Security.Cryptography.Hashing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.Hashing.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Hashing.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Hashing.Algorithms" library="Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.Hashing.Algorithms.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Hashing.Algorithms.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.RSA" library="Facades_System.Security.Cryptography.RSA-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.RSA.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.RSA.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.RandomNumberGenerator" library="Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.RandomNumberGenerator.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.RandomNumberGenerator.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Principal.Windows" library="Facades_System.Security.Principal.Windows-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Principal.Windows.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Principal.Windows.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.Thread" library="Facades_System.Threading.Thread-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Threading.Thread.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Thread.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.ThreadPool" library="Facades_System.Threading.ThreadPool-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Threading.ThreadPool.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.ThreadPool.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.XPath" library="Facades_System.Xml.XPath-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Xml.XPath.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XPath.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.XmlDocument" library="Facades_System.Xml.XmlDocument-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Xml.XmlDocument.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XmlDocument.dll</library_output>
     </project>
     <project dir="class/Facades/System.Xml.Xsl.Primitives" library="Facades_System.Xml.Xsl.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>System.Xml.Xsl.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.Xsl.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/Microsoft.Win32.Registry.AccessControl" library="Facades_Microsoft.Win32.Registry.AccessControl-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>Microsoft.Win32.Registry.AccessControl.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/Microsoft.Win32.Registry.AccessControl.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.FileSystem.AccessControl" library="Facades_System.IO.FileSystem.AccessControl-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.FileSystem.AccessControl.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.FileSystem.AccessControl.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection.TypeExtensions" library="Facades_System.Reflection.TypeExtensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Reflection.TypeExtensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.TypeExtensions.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection.Emit.Lightweight" library="Facades_System.Reflection.Emit.Lightweight-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Reflection.Emit.Lightweight.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Emit.Lightweight.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection.Emit.ILGeneration" library="Facades_System.Reflection.Emit.ILGeneration-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Reflection.Emit.ILGeneration.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Emit.ILGeneration.dll</library_output>
     </project>
     <project dir="class/Facades/System.Reflection.Emit" library="Facades_System.Reflection.Emit-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699</flags>
       <output>System.Reflection.Emit.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Emit.dll</library_output>
     </project>
     <project dir="class/Facades/System.Threading.AccessControl" library="Facades_System.Threading.AccessControl-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Threading.AccessControl.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.AccessControl.dll</library_output>
     </project>
     <project dir="class/Facades/System.ValueTuple" library="Facades_System.ValueTuple-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../Open.snk /nowarn:1616,1699</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../Open.snk /nowarn:1616,1699</flags>
       <output>System.ValueTuple.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ValueTuple.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.Primitives" library="Facades_System.Security.Cryptography.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Security.Cryptography.Primitives.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.Primitives.dll</library_output>
     </project>
     <project dir="class/Facades/System.Text.Encoding.CodePages" library="Facades_System.Text.Encoding.CodePages-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.Text.Encoding.CodePages.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Text.Encoding.CodePages.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.FileSystem.Watcher" library="Facades_System.IO.FileSystem.Watcher-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>System.IO.FileSystem.Watcher.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.FileSystem.Watcher.dll</library_output>
     </project>
     <project dir="class/Facades/System.Security.Cryptography.ProtectedData" library="Facades_System.Security.Cryptography.ProtectedData-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Security.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Security.dll</flags>
       <output>System.Security.Cryptography.ProtectedData.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Cryptography.ProtectedData.dll</library_output>
     </project>
     <project dir="class/Facades/System.ServiceProcess.ServiceController" library="Facades_System.ServiceProcess.ServiceController-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.ServiceProcess.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.ServiceProcess.dll</flags>
       <output>System.ServiceProcess.ServiceController.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceProcess.ServiceController.dll</library_output>
     </project>
     <project dir="class/Facades/System.IO.Pipes" library="Facades_System.IO.Pipes-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -optimize /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Core.dll</flags>
       <output>System.IO.Pipes.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Facades/System.IO.Pipes.dll</library_output>
     </project>
     <project dir="nunit24/NUnitFramework/framework" library="NUnit.Framework-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:StronglyNamedAssembly -warn:1 /publicsign /keyfile:../../nunit.snk -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:StronglyNamedAssembly -warn:1 /publicsign /keyfile:../../nunit.snk -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.framework.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.framework.dll</library_output>
     </project>
     <project dir="nunit24/NUnitCore/interfaces" library="nunit.core.interfaces-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.core.interfaces.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.core.interfaces.dll</library_output>
     </project>
     <project dir="nunit24/NUnitCore/core" library="nunit.core-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:StronglyNamedAssembly -warn:1 /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:StronglyNamedAssembly -warn:1 /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.core.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.core.dll</library_output>
     </project>
     <project dir="nunit24/ClientUtilities/util" library="nunit.util-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /resource:Transform.resources,NUnit.Util.Transform.resources /d:MONO /d:StronglyNamedAssembly /publicsign -warn:1 /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.core.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Runtime.Remoting.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /resource:Transform.resources,NUnit.Util.Transform.resources /d:MONO /d:StronglyNamedAssembly /publicsign -warn:1 /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.core.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.Runtime.Remoting.dll</flags>
       <output>nunit.util.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.util.dll</library_output>
     </project>
     <project dir="nunit24/NUnitMocks/mocks" library="nunit.mocks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.mocks.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.mocks.dll</library_output>
     </project>
     <project dir="nunit24/NUnitExtensions/framework" library="nunit.framework.extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.framework.extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.framework.extensions.dll</library_output>
     </project>
     <project dir="nunit24/NUnitExtensions/core" library="nunit.core.extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -r:./../../../class/lib/net_4_x/nunit.core.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -r:./../../../class/lib/net_4_x/nunit.core.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.core.extensions.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit.core.extensions.dll</library_output>
     </project>
     <project dir="nunit24/ConsoleRunner/nunit-console" library="nunit-console-runner-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:MONO /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.core.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/nunit.util.dll -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /d:MONO /d:StronglyNamedAssembly /publicsign /keyfile:../../nunit.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/nunit.core.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/nunit.util.dll -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>nunit-console-runner.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit-console-runner.dll</library_output>
     </project>
     <project dir="nunit24/ConsoleRunner/nunit-console-exe" library="nunit-console-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:nunit.framework -r:nunit.util -r:nunit.core -r:nunit-console-runner</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:nunit.framework -r:nunit.util -r:nunit.core -r:nunit-console-runner</flags>
       <output>nunit-console.exe</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/nunit-console.exe</library_output>
     </project>
     <project dir="ilasm" library="ilasm-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:PEAPI -r:Mono.CompilerServices.SymbolWriter -r:Mono.Security</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:PEAPI -r:Mono.CompilerServices.SymbolWriter -r:Mono.Security</flags>
       <output>ilasm.exe</output>
       <built_sources>ILParser.cs</built_sources>
       <library_output>./../class/lib/net_4_x/ilasm.exe</library_output>
     </project>
     <project dir="tools/resgen" library="resgen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml -r:System.Core -r:System.Drawing</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml -r:System.Core -r:System.Drawing</flags>
       <output>resgen.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/resgen.exe</library_output>
     </project>
     <project dir="tools/gacutil" library="gacutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -define:NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.Security -r:System.Security</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -define:NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.Security -r:System.Security</flags>
       <output>gacutil.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/gacutil.exe</library_output>
     </project>
     <project dir="tools/culevel" library="culevel-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
       <output>culevel.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/culevel.exe</library_output>
     </project>
     <project dir="tools/cil-stringreplacer" library="cil-stringreplacer-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.Cecil</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.Cecil</flags>
       <output>cil-stringreplacer.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/cil-stringreplacer.exe</library_output>
     </project>
     <project dir="tools/commoncryptogenerator" library="commoncryptogenerator-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
       <output>commoncryptogenerator.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/commoncryptogenerator.exe</library_output>
     </project>
     <project dir="tools/al" library="al-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:Mono.Security -r:System.Security -r:Mono.CompilerServices.SymbolWriter</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:Mono.Security -r:System.Security -r:Mono.CompilerServices.SymbolWriter</flags>
       <output>al.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/al.exe</library_output>
     </project>
     <project dir="tools/linker" library="monolinker-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -resource:Descriptors/mscorlib.xml -resource:Descriptors/System.xml -resource:Descriptors/System.Core.xml -resource:Descriptors/System.Drawing.xml -resource:Descriptors/System.Web.xml -resource:Descriptors/Mono.Posix.xml -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:System.Xml -r:Mono.Cecil</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -resource:Descriptors/mscorlib.xml -resource:Descriptors/System.xml -resource:Descriptors/System.Core.xml -resource:Descriptors/System.Drawing.xml -resource:Descriptors/System.Web.xml -resource:Descriptors/Mono.Posix.xml -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:System.Xml -r:Mono.Cecil</flags>
       <output>monolinker.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/monolinker.exe</library_output>
     </project>
     <project dir="tools/culevel" library="culevel-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
       <output>culevel.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/culevel.exe</library_output>
     </project>
     <project dir="tools/genxs" library="genxs-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
       <output>genxs.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/genxs.exe</library_output>
     </project>
     <project dir="tools/mkbundle" library="mkbundle-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -resource:template.c -resource:template_z.c -resource:template_main.c -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System -r:System.Core -r:System.IO.Compression.FileSystem</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -resource:template.c -resource:template_z.c -resource:template_main.c -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System -r:System.Core -r:System.IO.Compression.FileSystem</flags>
       <output>mkbundle.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mkbundle.exe</library_output>
     </project>
     <project dir="tools/monop" library="monop-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NO_AUTHENTICODE,STATIC,NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NO_AUTHENTICODE,STATIC,NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System</flags>
       <output>monop.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/monop.exe</library_output>
     </project>
     <project dir="tools/mono-service" library="mono-service-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -publicsign -keyfile:../../class/mono.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.ServiceProcess -r:Mono.Posix -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -publicsign -keyfile:../../class/mono.snk -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.ServiceProcess -r:Mono.Posix -r:System</flags>
       <output>mono-service.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-service.exe</library_output>
     </project>
     <project dir="tools/mono-xsd" library="xsd-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Data -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Data -r:System</flags>
       <output>xsd.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/xsd.exe</library_output>
     </project>
     <project dir="tools/resgen" library="resgen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml -r:System.Core -r:System.Drawing</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml -r:System.Core -r:System.Drawing</flags>
       <output>resgen.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/resgen.exe</library_output>
     </project>
     <project dir="tools/gacutil" library="gacutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -define:NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.Security -r:System.Security</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -define:NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.Security -r:System.Security</flags>
       <output>gacutil.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/gacutil.exe</library_output>
     </project>
     <project dir="tools/wsdl" library="wsdl-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Web.Services -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Web.Services -r:System</flags>
       <output>wsdl.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/wsdl.exe</library_output>
     </project>
     <project dir="tools/xbuild" library="xbuild-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Microsoft.Build.Framework -r:Microsoft.Build.Utilities.v4.0 -r:Microsoft.Build.Engine -r:Microsoft.Build.Tasks.v4.0 -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Microsoft.Build.Framework -r:Microsoft.Build.Utilities.v4.0 -r:Microsoft.Build.Engine -r:Microsoft.Build.Tasks.v4.0 -r:System -r:System.Core</flags>
       <output>xbuild.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/xbuild.exe</library_output>
     </project>
     <project dir="tools/csharp" library="csharp-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -nowarn:3021 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.CSharp -r:Mono.Posix -r:Mono.Management -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -unsafe -nowarn:3021 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.CSharp -r:Mono.Posix -r:Mono.Management -r:System</flags>
       <output>csharp.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/csharp.exe</library_output>
     </project>
     <project dir="tools/corcompare" library="mono-api-info-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Cecil -r:System.Xml -r:System.Core -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Cecil -r:System.Xml -r:System.Core -r:System</flags>
       <output>mono-api-info.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-api-info.exe</library_output>
     </project>
     <project dir="tools/mono-api-html" library="mono-api-html-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Core -r:System -r:System.Xml.Linq</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Core -r:System -r:System.Xml.Linq</flags>
       <output>mono-api-html.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-api-html.exe</library_output>
     </project>
     <project dir="tools/compiler-tester" library="compiler-tester-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:System.Xml</flags>
       <output>compiler-tester.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/compiler-tester.exe</library_output>
     </project>
     <project dir="tools/mono-xmltool" library="mono-xmltool-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:Commons.Xml.Relaxng</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:Commons.Xml.Relaxng</flags>
       <output>mono-xmltool.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-xmltool.exe</library_output>
     </project>
     <project dir="tools/mono-shlib-cop" library="mono-shlib-cop-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Posix -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Posix -r:System -r:System.Xml</flags>
       <output>mono-shlib-cop.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-shlib-cop.exe</library_output>
     </project>
     <project dir="tools/sgen" library="sgen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System</flags>
       <output>sgen.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/sgen.exe</library_output>
     </project>
     <project dir="tools/mconfig" library="mconfig-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System</flags>
       <output>mconfig.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mconfig.exe</library_output>
     </project>
     <project dir="tools/installutil" library="installutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Configuration.Install -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Configuration.Install -r:System</flags>
       <output>installutil.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/installutil.exe</library_output>
     </project>
     <project dir="tools/nunitreport" library="nunitreport-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
       <output>nunitreport.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/nunitreport.exe</library_output>
     </project>
     <project dir="tools/pdb2mdb" library="pdb2mdb-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Cecil -r:Mono.CompilerServices.SymbolWriter -r:System.Core</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Cecil -r:Mono.CompilerServices.SymbolWriter -r:System.Core</flags>
       <output>pdb2mdb.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/pdb2mdb.exe</library_output>
     </project>
     <project dir="tools/sqlsharp" library="sqlsharp-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml -r:System.Data</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml -r:System.Data</flags>
       <output>sqlsharp.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/sqlsharp.exe</library_output>
     </project>
     <project dir="tools/sqlmetal" library="sqlmetal-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:MONO_STRICT -keyfile:../../class/System.Data.Linq/src/DbMetal/../DbLinq.snk -resource:../../class/System.Data.Linq/src/DbMetal/Language/EnglishWords.txt,DbMetal.Language.EnglishWords.txt -resource:../../class/System.Data.Linq/src/DbMetal/Language/FrenchWords.txt,DbMetal.Language.FrenchWords.txt -resource:../../class/System.Data.Linq/src/DbMetal/Language/GermanWords.txt,DbMetal.Language.GermanWords.txt -publicsign -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Configuration -r:System.Core -r:System.Data -r:System.Data.Linq -r:System.Xml -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:MONO_STRICT -keyfile:../../class/System.Data.Linq/src/DbMetal/../DbLinq.snk -resource:../../class/System.Data.Linq/src/DbMetal/Language/EnglishWords.txt,DbMetal.Language.EnglishWords.txt -resource:../../class/System.Data.Linq/src/DbMetal/Language/FrenchWords.txt,DbMetal.Language.FrenchWords.txt -resource:../../class/System.Data.Linq/src/DbMetal/Language/GermanWords.txt,DbMetal.Language.GermanWords.txt -publicsign -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Configuration -r:System.Core -r:System.Data -r:System.Data.Linq -r:System.Xml -r:System</flags>
       <output>sqlmetal.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/sqlmetal.exe</library_output>
     </project>
     <project dir="tools/svcutil" library="svcutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Core -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Web.Services -r:System.Configuration -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Core -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Web.Services -r:System.Configuration -r:System -r:System.Xml</flags>
       <output>svcutil.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/svcutil.exe</library_output>
     </project>
     <project dir="tools/ictool" library="ictool-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
       <output>ictool.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/ictool.exe</library_output>
     </project>
     <project dir="tools/disco" library="disco-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Web.Services -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Web.Services -r:System</flags>
       <output>disco.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/disco.exe</library_output>
     </project>
     <project dir="tools/soapsuds" library="soapsuds-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Runtime.Remoting -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Runtime.Remoting -r:System</flags>
       <output>soapsuds.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/soapsuds.exe</library_output>
     </project>
     <project dir="tools/browsercaps-updater" library="browsercaps-updater-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System</flags>
       <output>browsercaps-updater.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/browsercaps-updater.exe</library_output>
     </project>
     <project dir="tools/cil-strip" library="mono-cil-strip-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System</flags>
       <output>mono-cil-strip.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-cil-strip.exe</library_output>
     </project>
     <project dir="tools/macpack" library="macpack-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /resource:LOADER /resource:PLIST -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /resource:LOADER /resource:PLIST -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize</flags>
       <output>macpack.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/macpack.exe</library_output>
     </project>
     <project dir="tools/dtd2rng" library="dtd2rng-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:Commons.Xml.Relaxng</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:Commons.Xml.Relaxng</flags>
       <output>dtd2rng.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/dtd2rng.exe</library_output>
     </project>
     <project dir="tools/dtd2xsd" library="dtd2xsd-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
       <output>dtd2xsd.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/dtd2xsd.exe</library_output>
     </project>
     <project dir="tools/mdoc" library="mdoc-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /resource:../../class/monodoc/Resources/mdoc-html-format.xsl,mdoc-html-format.xsl /resource:../../class/monodoc/Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl /resource:../../class/monodoc/Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl /resource:../../class/monodoc/Resources/mono-ecma-css.xsl,mono-ecma-css.xsl /resource:Resources/defaulttemplate.xsl,defaulttemplate.xsl /resource:Resources/monodoc-ecma.xsd,monodoc-ecma.xsd /resource:Resources/msitomsx.xsl,msitomsx.xsl /resource:Resources/overview.xsl,overview.xsl /resource:Resources/stylesheet.xsl,stylesheet.xsl -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:monodoc -r:System -r:System.Xml -r:System.Core -r:Mono.Cecil -r:ICSharpCode.SharpZipLib -r:System.Xml.Linq -r:System.Web</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /resource:../../../external/api-doc-tools/mdoc/Resources/defaulttemplate.xsl,defaulttemplate.xsl /resource:../../../external/api-doc-tools/mdoc/Resources/monodoc-ecma.xsd,monodoc-ecma.xsd /resource:../../../external/api-doc-tools/mdoc/Resources/msitomsx.xsl,msitomsx.xsl /resource:../../../external/api-doc-tools/mdoc/Resources/overview.xsl,overview.xsl /resource:../../../external/api-doc-tools/mdoc/Resources/stylesheet.xsl,stylesheet.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-html-format.xsl,mdoc-html-format.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-html-utils.xsl,mdoc-html-utils.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mdoc-sections-css.xsl,mdoc-sections-css.xsl /resource:../../../external/api-doc-tools/monodoc/Resources/mono-ecma-css.xsl,mono-ecma-css.xsl -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:monodoc -r:System -r:System.Xml -r:System.Core -r:Mono.Cecil -r:ICSharpCode.SharpZipLib -r:System.Xml.Linq -r:System.Web</flags>
       <output>./../../class/lib/net_4_x/mdoc.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mdoc.exe</library_output>
     </project>
     <project dir="tools/mod" library="mod-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:monodoc</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:monodoc</flags>
       <output>mod.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mod.exe</library_output>
     </project>
     <project dir="tools/installvst" library="installvst-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml</flags>
       <output>installvst.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/installvst.exe</library_output>
     </project>
     <project dir="tools/lc" library="lc-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core</flags>
       <output>lc.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/lc.exe</library_output>
     </project>
     <project dir="tools/mono-configuration-crypto/lib" library="Mono.Configuration.Crypto-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/Mono.Security.dll -r:./../../../class/lib/net_4_x/System.Security.dll -r:./../../../class/lib/net_4_x/System.Configuration.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:./../../../class/lib/net_4_x/System.dll -r:./../../../class/lib/net_4_x/Mono.Security.dll -r:./../../../class/lib/net_4_x/System.Security.dll -r:./../../../class/lib/net_4_x/System.Configuration.dll -r:./../../../class/lib/net_4_x/System.Xml.dll</flags>
       <output>Mono.Configuration.Crypto.dll</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/Mono.Configuration.Crypto.dll</library_output>
     </project>
     <project dir="tools/mono-configuration-crypto/cli" library="mono-configuration-crypto-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Security -r:System.Security -r:System.Configuration -r:System -r:Mono.Configuration.Crypto</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Security -r:System.Security -r:System.Configuration -r:System -r:Mono.Configuration.Crypto</flags>
       <output>mono-configuration-crypto.exe</output>
       <built_sources></built_sources>
       <library_output>./../../../class/lib/net_4_x/mono-configuration-crypto.exe</library_output>
     </project>
     <project dir="tools/ccrewrite" library="ccrewrite-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.CodeContracts -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.CodeContracts -r:System -r:System.Core</flags>
       <output>ccrewrite.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/ccrewrite.exe</library_output>
     </project>
     <project dir="tools/cccheck" library="cccheck-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.CodeContracts -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.CodeContracts -r:System</flags>
       <output>cccheck.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/cccheck.exe</library_output>
     </project>
     <project dir="tools/mdbrebase" library="mdbrebase-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.CompilerServices.SymbolWriter</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:Mono.CompilerServices.SymbolWriter</flags>
       <output>mdbrebase.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mdbrebase.exe</library_output>
     </project>
     <project dir="tools/mdb2ppdb" library="mdb2ppdb-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Cecil -r:Mono.Cecil.Mdb</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:Mono.Cecil -r:Mono.Cecil.Mdb</flags>
       <output>mdb2ppdb.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mdb2ppdb.exe</library_output>
     </project>
     <project dir="tools/ikdasm" library="ikdasm-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:System.Security</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Core -r:System.Security</flags>
       <output>ikdasm.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/ikdasm.exe</library_output>
     </project>
     <project dir="tools/mono-symbolicate" library="mono-symbolicate-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic /D:NO_AUTHENTICODE /D:CECIL -nowarn:649 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Core -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic /D:NO_AUTHENTICODE /D:CECIL -nowarn:649 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Xml -r:System.Core -r:System</flags>
       <output>mono-symbolicate.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mono-symbolicate.exe</library_output>
     </project>
     <project dir="tools/linker-analyzer" library="linkeranalyzer-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System -r:System.Xml</flags>
       <output>linkeranalyzer.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/linkeranalyzer.exe</library_output>
     </project>
     <project dir="mcs" library="mcs-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_PROCESS_START -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Core -r:System.Xml -r:System</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_PROCESS_START -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../class/lib/net_4_x/mscorlib.dll /debug:portable -optimize -r:System.Core -r:System.Xml -r:System</flags>
       <output>mcs.exe</output>
       <built_sources>cs-parser.cs</built_sources>
       <library_output>./../class/lib/net_4_x/mcs.exe</library_output>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll</flags>
       <output>Microsoft.Build.Framework.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-tests-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
       <output>xbuild_12_Microsoft.Build.Framework_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_12_Microsoft.Build.Framework_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.Utilities.v12.0.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-tests-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -resource:Test/Microsoft.Build.Utilities/Strings.resources</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -resource:Test/Microsoft.Build.Utilities/Strings.resources</flags>
       <output>xbuild_12_Microsoft.Build.Utilities_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_12_Microsoft.Build.Utilities_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll</flags>
       <output>Microsoft.Build.Engine.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-tests-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll</flags>
       <output>xbuild_12_Microsoft.Build.Engine_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_12_Microsoft.Build.Engine_test.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll</flags>
       <output>Mono.XBuild.Tasks.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-tests-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</flags>
       <output>xbuild_12_Mono.XBuild.Tasks_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_12_Mono.XBuild.Tasks_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Windows.Forms.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Windows.Forms.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</flags>
       <output>Microsoft.Build.Tasks.v12.0.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-tests-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll</flags>
       <output>xbuild_12_Microsoft.Build.Tasks_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_12_Microsoft.Build.Tasks_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>./../../class/lib/xbuild_12/Microsoft.Build.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-tests-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.dll /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.dll /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_12/../net_4_x/System.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_12/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
       <output>xbuild_12_Microsoft.Build_test.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>xbuild_12_Microsoft.Build_test.dll</library_output>
     </project>
     <project dir="tools/xbuild" library="xbuild-xbuild_12">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:Microsoft.Build.Framework -r:Microsoft.Build.Utilities.v12.0 -r:Microsoft.Build.Engine -r:Microsoft.Build.Tasks.v12.0 -r:../net_4_x/System -r:../net_4_x/System.Core</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -optimize -r:Microsoft.Build.Framework -r:Microsoft.Build.Utilities.v12.0 -r:Microsoft.Build.Engine -r:Microsoft.Build.Tasks.v12.0 -r:../net_4_x/System -r:../net_4_x/System.Core</flags>
       <output>xbuild.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_12/xbuild.exe</library_output>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll</flags>
       <output>Microsoft.Build.Framework.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-tests-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
       <output>xbuild_14_Microsoft.Build.Framework_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_14_Microsoft.Build.Framework_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.Utilities.Core.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-tests-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -resource:Test/Microsoft.Build.Utilities/Strings.resources</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -resource:Test/Microsoft.Build.Utilities/Strings.resources</flags>
       <output>xbuild_14_Microsoft.Build.Utilities_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_14_Microsoft.Build.Utilities_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll</flags>
       <output>Microsoft.Build.Engine.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-tests-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll</flags>
       <output>xbuild_14_Microsoft.Build.Engine_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_14_Microsoft.Build.Engine_test.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll</flags>
       <output>Mono.XBuild.Tasks.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-tests-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</flags>
       <output>xbuild_14_Mono.XBuild.Tasks_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_14_Mono.XBuild.Tasks_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Windows.Forms.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Windows.Forms.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</flags>
       <output>Microsoft.Build.Tasks.Core.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-tests-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll</flags>
       <output>xbuild_14_Microsoft.Build.Tasks_test.dll</output>
       <built_sources></built_sources>
       <library_output>xbuild_14_Microsoft.Build.Tasks_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>./../../class/lib/xbuild_14/Microsoft.Build.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-tests-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.dll /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.dll /d:MICROSOFT_BUILD_DLL -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
       <output>xbuild_14_Microsoft.Build_test.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>xbuild_14_Microsoft.Build_test.dll</library_output>
     </project>
     <project dir="class/Microsoft.NuGet.Build.Tasks" library="Microsoft.NuGet.Build.Tasks-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -nowarn:3021 /delaysign /keyfile:./../../../external/nuget-buildtasks/build/PublicKey.snk -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Data.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.Linq.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -nowarn:3021 /delaysign /keyfile:./../../../external/nuget-buildtasks/build/PublicKey.snk -r:./../../class/lib/xbuild_14/../net_4_x/System.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Core.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Data.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Xml.Linq.dll -r:./../../class/lib/xbuild_14/../net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.NuGet.Build.Tasks.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/Microsoft.NuGet.Build.Tasks.dll</library_output>
     </project>
     <project dir="tools/xbuild" library="xbuild-xbuild_14">
       <boot></boot>
-      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:Microsoft.Build.Framework -r:Microsoft.Build.Utilities.Core -r:Microsoft.Build.Engine -r:Microsoft.Build.Tasks.Core -r:../net_4_x/System -r:../net_4_x/System.Core</flags>
+      <flags>/codepage:65001 /nologo /noconfig /deterministic -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll /debug:portable -d:XBUILD_12 -d:XBUILD_14 -optimize -r:Microsoft.Build.Framework -r:Microsoft.Build.Utilities.Core -r:Microsoft.Build.Engine -r:Microsoft.Build.Tasks.Core -r:../net_4_x/System -r:../net_4_x/System.Core</flags>
       <output>xbuild.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/xbuild.exe</library_output>
index bb90e4685228bce9655de53c1715425930e7653c..e87ea8838ebd3797c40b857fd8c0667b4c7d1f98 100755 (executable)
@@ -19,8 +19,8 @@ if [[ ${label} == 'w64' ]]; then PLATFORM=x64; EXTRA_CONF_FLAGS="${EXTRA_CONF_FL
 
 if [[ ${CI_TAGS} == *'coop-gc'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-cooperative-gc=yes"; fi
 
-if [[ ${CI_TAGS} == *'checked-coop'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --enable-checked-build=gc,thread"; export MONO_CHECK_MODE=gc,thread; fi
-if [[ ${CI_TAGS} == *'checked-all'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --enable-checked-build=all"; export MONO_CHECK_MODE=all; fi
+if [[ ${CI_TAGS} == *'checked-coop'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --enable-checked-build=gc,thread"; fi
+if [[ ${CI_TAGS} == *'checked-all'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --enable-checked-build=all"; fi
 
 if [[ ${CI_TAGS} == *'mcs-compiler'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-csc=mcs"; fi
 
@@ -83,6 +83,9 @@ if [[ ${label} == 'debian-8-ppc64el' ]]; then make_parallelism=-j1; fi
 
 ${TESTCMD} --label=make --timeout=300m --fatal make ${make_parallelism} -w V=1
 
+if [[ ${CI_TAGS} == *'checked-coop'* ]]; then export MONO_CHECK_MODE=gc,thread; fi
+if [[ ${CI_TAGS} == *'checked-all'* ]]; then export MONO_CHECK_MODE=all; fi
+
 if [[ ${CI_TAGS} == *'acceptance-tests'* ]];
     then
        $(dirname "${BASH_SOURCE[0]}")/run-test-acceptance-tests.sh
diff --git a/tools/nuget-hash-extractor/.gitignore b/tools/nuget-hash-extractor/.gitignore
new file mode 100644 (file)
index 0000000..117e7cc
--- /dev/null
@@ -0,0 +1,2 @@
+nugets
+.download_stamp_file
index 371aca44bbfd05a69f6cf936406bda325d4b17c5..05b30f25975919693cfcac349c3fad47f9c08492 100644 (file)
@@ -10,13 +10,16 @@ nuget-hash-extractor.exe: $(SOURCES)
 
 download: .download_stamp_file
 
-run: nuget-hash-extractor.exe .download_stamp_file
-       mono nuget-hash-extractor.exe nugets
+run: download nuget-hash-extractor.exe exec-ver exec-asm
 
-run-asm: nuget-hash-extractor.exe .download_stamp_file
+run-asm: download nuget-hash-extractor.exe exec-asm
+
+exec-asm:
        mono nuget-hash-extractor.exe nugets asm
 
-run-ver: nuget-hash-extractor.exe .download_stamp_file
+run-ver: download nuget-hash-extractor.exe exec-ver
+
+exec-ver:
        mono nuget-hash-extractor.exe nugets ver
 
 .PHONY: download run
index a16a3bfac027d6d142480187bc0dcf2d84f6de13..783e463bc8b818d22c04d58f7d9ad58d823df9af 100755 (executable)
@@ -15,6 +15,7 @@ wget https://www.nuget.org/api/v2/package/System.IO.Compression/4.1.0 -O nugets/
 wget https://www.nuget.org/api/v2/package/System.IO.Compression/4.0.0 -O nugets/system.io.compression.4.0.0.nupkg
 
 #System.Net.Http
+wget https://www.nuget.org/api/v2/package/System.Net.Http/4.3.1 -O nugets/system.net.http.4.3.1.nupkg
 wget https://www.nuget.org/api/v2/package/System.Net.Http/4.3.0 -O nugets/system.net.http.4.3.0.nupkg
 wget https://www.nuget.org/api/v2/package/System.Net.Http/4.1.1 -O nugets/system.net.http.4.1.1.nupkg
 wget https://www.nuget.org/api/v2/package/System.Net.Http/4.1.0 -O nugets/system.net.http.4.1.0.nupkg
@@ -33,6 +34,11 @@ wget https://www.nuget.org/api/v2/package/System.Reflection.DispatchProxy/4.0.0
 #System.ValueTuple
 wget https://www.nuget.org/api/v2/package/System.ValueTuple/4.3.0 -O nugets/system.valuetuple.4.3.0.nupkg
 
+#System.Threading.Overlapped
+wget https://www.nuget.org/api/v2/package/System.Threading.Overlapped/4.3.0 -O nugets/system.threading.overlapped.4.3.0.nupkg
+wget https://www.nuget.org/api/v2/package/System.Threading.Overlapped/4.0.1 -O nugets/system.threading.overlapped.4.0.1.nupkg
+wget https://www.nuget.org/api/v2/package/System.Threading.Overlapped/4.0.0 -O nugets/system.threading.overlapped.4.0.0.nupkg
+
 #System.Security.Cryptography.OpenSsl when .net 4.6.2 + 1 is out
 
-touch .download_stamp_file
\ No newline at end of file
+touch .download_stamp_file
index 96b4b7c8c91e9ca0e010acfca6062e81327a92c6..df3304b2c4e179a67e5fab99e54f38d6b580089e 100644 (file)
@@ -82,6 +82,7 @@ class DoParse : MarshalByRefObject {
                case "System.Net.Http.dll": return "SYS_NET_HTTP";
                case "System.Text.Encoding.CodePages.dll": return "SYS_TEXT_ENC_CODEPAGES";
                case "System.Reflection.DispatchProxy.dll": return "SYS_REF_DISP_PROXY";
+               case "System.Threading.Overlapped.dll": return "SYS_THREADING_OVERLAPPED";
                case "System.ValueTuple.dll": return "SYS_VALUE_TUPLE";
                default: throw new Exception ($"No idea what to do with {name}");
                }